The KDE PLasma Desktop Environment's File Indexing and File Searching backend, Baloo, is an extremely fast and useful tool of the Plasma DE. It enables among other features, krunner's extremely fast population of search results. Unfortunately, depending on its configuration, it can cause intermittent unresponsiveness during its initial indexing. Having been introduced to the Phoronix Test Suite, I thought I would use it to measure the impact of baloo on system performance. This article presents some a comparison of test results of PTS tests with Baloo actively indexing files and with all Baloo processes stopped.
According to the KDE Community Wiki page on Baloo:
Baloo is the file indexing and file search framework for KDE Plasma...Baloo focuses on providing a very small memory footprint along with with extremely fast searching. Baloo is not an application, but a daemon to index files. Applications can use the Baloo framework to provide file search results.
This development focus on the speed of searches was fruitful. Baloo search results are displayed impressively quickly. For example, in one of the applications that use the framework, krunner, extended results -- including items not in recent documents or recent applications, appear almost instantly.
Unfortunately, depending on the selected settings, baloo processes can cause the system to be unresponsive during the period of initial indexing. The following screenshot shows htop with a filter on
baloo. htop shows that at one cycle, the subprocess of
baloo_file_extractor is using 73.1% of CPU time and 10.3% of the 16GB memory of my Acer V15 Nitro Black Edition.
The setting that actually has the negative impact on performance is whether file contents should be indexed as well as file name. If file contents are to be indexed, apparently, the
baloo_file_extractor process is spawned by the main
baloo_file process, and this is the process that consumes nearly all of the resources of the two baloo processes.
When I first encountered this problem with baloo I thought it was a problem with the implementation by openSUSE Tumbleweed, but it is occurring in other distributions' implementations of Plasma as well, not because of some defect, but because in my case I have over 900,000 files in locations to be indexed and I chose to enable the indexing of file contents in addition to file names.
Phoronix Test Suite Results
I chose only a small subset of only two of the tests that are available with Phoronix Test Suite to minimize the time that the computer -- the specs of which, collected by Phoronix Test Suite, are shown below -- would be unusable to me while the tests were executing.
The results of the individual tests are presented in the following set of slides.
Of the twenty four test runs in this set of test runs, the system performed better in twenty-three of the twenty-four cases when the baloo processes were not running.