On 09/24/2011 05:49 AM, Lex Trotman wrote:
Also Matthew's perceived slowness with lots of tags loaded needs checking, is it reloading them all the time (as Colomban seemed to suggest) or does the symbol table used by tagmanager have O(1), O(log), O(N) or worse performance.
I'm too afraid to go back into the TagManager code, but IIRC it uses a sorted GPtrArray. I think for each new tag added it qsort()s the array and also removes duplicates by looping over the whole array. Lookups are done with bsearch() on the array I think.
Not sure if that matters or is what you asked :)
Cheers, Matthew Brush