I was working on a client site, and was being annoyed by the brute force loading of twikiusers (ok, the joomla equiv), so i thought i'd remove it for the normal usage case - the attached diff is the result.
on the Twiki.org user set it changes Sandbox
times from 3000mS to 1500mS (using ab on my notebook with 7200 RPM disk). the Joomla Speedup was from 2000mS to 800mS or better with 20,000 users, so for my kind of workloads its a massive improvment
Couls some other people please have a play to see what they get (especially you Kenneth!)
and report bugs you notice here too - its a quick hack so far, i'm just not sure i will have time to refine it until tuesday.
Used a rather simpler approach of just unstupiding the existing code.
It appears that perl isn't smart enough to optimise REs in the condition of while loops :-(. Found another place in Store where it also matters, and fixed that too.
I'm adding the 2 lookup stubs (that for TWikiUserMapping
work exactly like without) so that other UserMappings
can implement the lookup in ways that make performance sense for them - otherwise we are trapping all implementations of mappers into nastyness - there seem to be at least 3 in development for twiki 4 atm.