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