It is possible that I could implement optional parsed YAML caching
with memcache or something like that, but YAML parsing isn't close to
being a bottleneck of any phocoa app I've built yet.
Alan
So I try very hard to make sure that phocoa doesn't introduce
unreasonable overhead. So far it's been good.
I have been using PHP for about 10 years and am quite experienced in
its performance characteristics, and I try to code phocoa as much as
possible using the techniques I've learned for keeping speed up, but
without sacrificing the architectural integrity of the framework. If
I really wanted to go for speed, I would have had to architect the
framework a little differently. I use a lot of reflection techniques
in phocoa to implement all of the delegation, which is more expensive
than calling things directly. However, an average web page will make
only HUNDREDS of these calls that are all in the sub-ms range, so
while on a nominal basis, they're slower, they don't really cause a
noticeable difference in performance. It's a trade-off, as you know,
between overhead and functionality. I try to balance it to the best
of my abilities.
I would strongly recommend APC for a production environment. It
provides about 3x improvement in response time with no downside other
than a few MB of RAM to store all the cached code.
Also, propel 1.3 uses PDO instead of Creole (which is written in PHP)
so you get better performance there as well.
Alan