Andreas Hartmann wrote:
Hi Lenya devs,
yesterday I did some profiling again. IMO it's crucial and quite
urgent to improve the performance, especially of the authoring
environment.
The biggest performance penalty is caused by the resolving of fallback
sources. They aren't cached by default, because a cascade of files is
involved and for each resolving of the source the system checks if a
file in this cascade has been added or removed.
As a proof of concept, I added an LRUMap as cache to the
FallbackSourceFactory. This improves the performance a lot. In
combination with the Ajax menubar the authoring environment feels
notably faster.
Unfortunately I don't see a way to prune stale sources from the cache
automatically. We could either add a button to the GUI which allows to
clear the cache when a static resource (sitemap/XSLT/...) has been
changed. IMO this would be useful and sufficient. Additionally, it
could be triggered by the build process.
Another option would be an expiration time, though I don't like this
idea much because it makes testing very cumbersome (you have to wait
after deploying something to see the results).
In development mode, the fallback:// source cache would be disabled
anyway.
Do you think this approach is useful? I'll do some more testing and
provide a patch asap.
-- Andreas
XSLT is already cached, even with fallbacks. In fact it can make things
act quite weirdly. You can force a reload of those by using touch.
Caching the other stuff would certainly be good as well. Having a method
to dump the cache for the publication inside of the publication would be
a good thing.
Richard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]