• 's avatar
    Added careful caching to getRolesInContext, which is an expensive op · 7d3031bb
    authored
    that requires climbing the entire aq chain on every call (and it gets
    called a *lot*). A little investigation revealed that it is called
    over and over for the same objects during a request for complex pages,
    so a cache was added that can cut the work down to about 10% of its
    current level.
    7d3031bb
User.py 24.9 KB