Hey guys, sorry I didn't get a chance to reply to this thread until now. While I might not be an expert on performance tuning in PHP, I believe there are a few best practices that apply to all languages and frameworks out there. Foremost among these is never increase code complexity before having reasonable benchmarks to give you a decent 'before' and 'after' picture of the optimization. I realize that PHP is somewhat unique in the benefit it can realize from an opcode cache, so I would expect these figures for both opcode-cached and -uncached installations. I also realize the extent of the complexity that might be introduced- in fact, we might be able to simplify the lazy-loading of exception classes further by introducing a factory method- possibly in the Zend_Loader class- which doesn't make for a whole hell of a lot of complexity. That said, it does add SOME complexity to the framework, since we either have to include the exception class in more places than we had to previously or we would have to prescribe a different method of exception class loading than the most basic suggested usage at the language level, and is therefore subject to the rule of thumb I mention above. Fortunately, we plan to do a performance audit of framework in the 1.5 timeframe that will create exactly these benchmarks to test against going forward. ;D While I imagine that these will support a strong argument for lazy loading of exceptions, I suggest we wait until we've had a chance to run these benchmarks to decide which optimizations of the many possibilities that we agree are worth the extra complexity. Ultimately, this is another argument against 'premature optimization', but I'm being slightly more specific about the definition of 'premature' here- anything before our 1.5 performance tests are executed and the results compiled. :)
Thanks. ,Wil > -----Original Message----- > From: Philip G [mailto:[EMAIL PROTECTED] > Sent: Saturday, December 15, 2007 2:17 PM > To: fw-general; fw-core > Subject: Re: [fw-general] Reducing the number of loaded exception files > > On Dec 15, 2007 3:43 PM, Shahar Evron <[EMAIL PROTECTED]> wrote: > > Hi Nico, > > > > On Sat, 2007-12-15 at 16:54 +0100, Nico Edtinger wrote: > > > Shahar Evron wrote: > > > > 10 redundant include files have quite an impact on performance, > > > > especially in places where you have no opcode cache installed. > > > > > > If you don't have an opcode cache you simply don't care about > > > performance. So why should we optimize for these people? > > > > That's not true - some people (actually much more than "some") run in > > shared hosting environments where they have no control on what PHP > > extensions are installed. > > > > Also, IMHO we build a framework, and it should be used by *users* who > > *do not need to care* about much. The whole essence of frameworks is > > like saying "I'll take care of this issue for you, so you don't have > to > > care about that". > > > > As a user and developer, I'm going to have to agree with Shahar here. > Majority of your users are going to be on shared servers where they do > not have control of what caching, if any, is installed. A framework > that is meant to be used by users (think RoR) needs to be as optimized > as possible by the original coders. Simply saying "use opcode caching" > is a poor excuse for poorly developed code. > > This is just my opinion as a developer...btw, this message might not > make it to the fw-core list as I don't believe I'm on it. > > -- > Philip > [EMAIL PROTECTED] > http://www.gpcentre.net/
