Improve tree-view side-pane performance

thunar 4.21.7

Even after !807 is applied, the tree-view-side-pane can freeze in some occasions.

E.g. when entering a folder which has a lot of subfolders (I tested with 30k subfolders)

Reproducer

  • Generate the folder structures:
mkdir -p /tmp/thunartest
for i in {1..30000}; do mkdir -p "/tmp/thunartest/$i"; done
  • Open that folder in thunar
  • Enable the tree-view side-pane

Diagnostics

When running thunar via gprof (https://wiki.xfce.org/thunar/dev/gprof) the method which eats 99% of the CPU is thunar_tree_model_get_path.

Possible Fix

Use a self-pointer to improve path lookup speed, like it is done by thunar_tree_view_model_get_path.

Edited by Alexander Schwinn