The current ZenMagick release does suffer a bit from performance issues. Progress on this is tracked in issue 353.
There are a number of improvements that have already gone into the code that is going to be ZenMagick 0.9.14.
- Conversion of code into namespaces
This is a biggie, as using namespaces means we can slowly switch off folder scanning to find global classes. The biggest remaining block of code is the shared folder. I am reluctant to rush that bit, though, because the plan is to take the time to improve/refactor code at the same time.
- The view component has seen a major refactoring.
The main reason for this was that most of the Savant features had already been re-implemented in the view classes, so it seemed easier to port the last bit (the
fetch()method) as well and drop Savant (and two levels in the stack traces) completely.
- Conversion of system config/container files to XML
All container config files that are shipped with ZenMagick are now in XML. According to the symfony docs this is the fastest alternative.
In addition to the above I managed last night to fix a regression that created excessive SQL updates against the configuration table. This has improved the SQL stats quite a bit.
Looking at the current (outdated) demo site I can see that in 0.9.11.1 the homepage used about 300 queries. The most recent code for 0.9.14 gets away with ~100.
Despite all this progress there is more to do. In particular the time spend in the view is not acceptable. Another potential issue are the zencart wrapper classes during checkout. Right now they take up just too much time.
Lots to do…