Like how MySQL Optimizer will convert queries into more efficient queries as it sees fit, is there a similar optimization process going on behind the scenes with PHP? Where PHP takes your code, analyzes it and converts it to be more efficient all before executing it?
Like how MySQL Optimizer will convert queries into more efficient queries as it sees
Share
PHP uses a single-pass compilation process in which it converts the source code into an opcode stream (which is then executed). Because the compilation uses only a single pass and does not build an AST most optimizations commonly done by other languages would be very hard to implement. There obviously are some simple optimizations done (like interning strings and prehashing symbols), but most of the “advanced” optimizations are simply not possible.
By the way, a very simple way to “optimize” PHP code is to cache the generated opcode stream using the APC extension, so that it isn’t recreated on every page load: The compilation process is quite resource intensive and using APC can often lower your CPU usage quite a bit.