Hi, My Google Summer of Code project is to develop and release an initial version on the optimizer originally being developed by Ilia. The optimizer will be released to PECL as its own extension, however, it will require APC in order to run.
Ive worked on cleaning up bugs and testing the existing code. In addition I have worked on refactoring some of the code to provide a base on which to build a more powerful and more robust optimizer. I have added a few additional optimizations including: 1) Optimization of basic math identities 2) Optimization of silence blocks 3) More functions for which we can pre-calculate return values for if they have all static parameters. (substr, acos, acosh, asin, asinh, atan, atanh, cos, cosh, sin, sinh, tan, tanh, exp, log10, sqrt, atan2, ceil, floor, fmod, ini_get [for PHP_INI_SYSTEM values only], ip2long, long2ip, trim, chop, rtrim, ltrim, rad2deg, deg2rad, abs) 4) worked on making function optimization more aggressive to reduce the number of required passes for full optimization. 5) A few more minor things here and there There are plans to change the optimizer hook in APC over to adding a new compile layer. This should help give the optimizer better control as well as make it more easily integrateable with other extensions. In the future I would like to work on a new control system and new analysis tools for the optimizer. Hopefully such eventual changes will open up the way for more powerful optimizations down the road. In addition there are some APC specific optimizations that might be able to be done. Hopefully the initial release of the optimizer will in available in PECL in the next few weeks. For now you can get it from pecl/optimizer in CVS. ~ Graham