Skip to content

exo-icon-view: Use GSequence instead of GList to improve performance

When opening a folder with 100.000 files in thunar(master) icon-view/compact view, thunar freezes for ~50seconds.

That is, because GList is rather slow for long lists, it operates with O(n) complexity, whereas GSequence operates with O(log n) complexity

Reproducer:

cd ~/test
for ((i=0; i<100000; i++)); do : >file$i; done
thunar test

With this fix applied, the freeze only is about a few seconds. (Possibly can be further improved, to be checked)

Original issue: thunar#1315 (closed)

Draft-Status, because cursor navigation/exo_icon_view_move_cursor_* are still buggy/can cause freeze ... will look into that in the next days

Edited by Alexander Schwinn

Merge request reports