plocate is a locate based on posting lists. Compared to mlocate, it is much faster, and its index is much smaller. updatedb speed is similar (or you can convert mlocate's index to plocate format using plocate-build). It supports most mlocate options; see --help or the man page (man -l plocate.1) for more information. The file format may still change (if so, plocate will notify you itself that you need to rerun plocate-build or updatedb). To build and install, you will need a C++17 compiler and a development package for Zstd (https://facebook.github.io/zstd/). liburing (https://github.com/axboe/liburing) and a kernel supporting io_uring (Linux 5.1 or newer) is optional, but strongly recommended for best performance, especially if you do not have an SSD. Installation is run as: meson obj cd obj ninja sudo addgroup --system plocate sudo ninja install sudo systemctl enable plocate-updatedb.timer To build the database for the first time after install, you can do sudo updatedb The initial run of updatedb needs to scan the entire filesystem. Subsequent runs of updatedb will be much faster, and create a slightly (~5%) smaller database. If you wish to run some tests of the TurboPFor implementation against the reference implementation, you can check it out and run as follows: git clone https://github.com/powturbo/TurboPFor-Integer-Compression ( cd TurboPFor-Integer-Compression && make -j8 ) cd obj ninja reconfigure ninja bench plocate (except updatedb), and the plocate-specific changes to updatedb, is Copyright 2020 Steinar H. Gunderson . Licensed under the GNU General Public License, either version 2, or (at your option) any later version. See the included file COPYING. updatedb is Copyright (C) 2005, 2007 Red Hat, Inc. All rights reserved. Licensed under the GNU General Public License, version 2. See the included file COPYING.