Skip to content

Optimize for search responsiveness

Xiang Fan requested to merge sfanxiang/nautilus:search-optimize into master

3 optimizations to improve search responsiveness as mentioned in #776 (closed):

  • Instead of consuming all search results, process them in an idle task that actively yields.

  • Reduce selection-related signals (many of them are pretty expensive, for some reason) by clearing selection first in nautilus_list_view_clear(). I'm not sure if this is the right approach but it does reduce time exiting from a search screen if you selected an item in the results.

  • Replace the linked list with a hash table for monitors in nautilus-directory. Linked list can get to O(n^2) in worst case and is not helpful when you have 100,000+ files. In practice this also reduces time exiting from a search screen.

Could someone please see if these are on the right track? These are independent of each other so any one can be merged on its own.

Merge request reports