Skip to content

Performance loss between thunar 4.20.5, 4.21.2 and current git master

There is a significant performance loss between thunar 4.20.5 and current git master 29cd95f3627d8fc6656d7c68111fda8aae932e5e. Several commits are probably involved, as there is already a difference between 4.20.5 and 4.21.2, but it has struck me particularly lately, and I have identified commit 7e752cba as the culprit between 4.21.2 and current git master. I will continue searching before 4.21.2 to find performance similar to 4.20.5 and will report back later.

My test method for judging performance loss is simply to look at the time it takes for thunar to display the initial view (compact view in my case, if it matters), clearing the disk cache before each new test. But there is also a performance loss afterwards, when switching from one directory to another. In fact, that's what led me to do the bisection, because that's what proves most annoying in use.

Version information

4.20.5, 4.21.2, git master 29cd95f3627d8fc6656d7c68111fda8aae932e5e

Steps to reproduce

  1. thunar -q
  2. echo 3 | sudo tee /proc/sys/vm/drop_caches
  3. time thunar
  4. Alt-F4 as soon as the view is filled

Current behavior

With thunar git master 29cd95f3627d8fc6656d7c68111fda8aae932e5e (or any commit after 7e752cba included):

$ time thunar

real	0m26,343s
user	0m2,539s
sys	0m1,446s

With thunar 4.21.2:

$ time thunar

real	0m18,386s
user	0m2,340s
sys	0m1,293s

Expected outcome

With thunar 4.20.5:

$ time sthunar

real	0m12,733s
user	0m1,563s
sys	0m0,922s
Edited by Gaël Bonithon