Optimize for search responsiveness
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.