PHP Accelerator Logo by ChristianAbout PHPA
ionCube Home  |  Introduction  |  About  |  Testimonials
FAQ  |  History
Please note: This site is an archive and kept for historical purposes. Some links may be broken. Dates refer to 2001-2002.
The PHPA project became the basis for the ionCube Encoder software, and PHPA has been discontniued as a product in its own right.

Inside The Accelerator

Every time a PHP script is accessed, the PHP engine must open the script file and read, parse, and compile the file contents into a compiled form. Only then can the compiled code be executed. With scripts often including other scripts, this work can become a significant part of the overall time to deliver a page. It can also impact I/O performance, and require much dynamic memory allocation that in itself can be time consuming.

The reality, however, is that most PHP scripts never change from one access to the next; indeed they may never change for weeks, months, or even years. The Accelerator works to eliminate the penalty of processing scripts that never change, and by caching the compiled scripts in shared memory, delivers significant performance gains as a result. Note that this is very different to caching script output. PHPA doesn't do this, scripts remain fully dynamic, and if they do change then PHPA caches a new version - they just run faster!

So by caching, the Accelerator eliminates:

  • reading of source code
  • parsing of source code
  • compiled code generation
  • many memory allocation and copying operations
  • disk related operations
Once script execution has completed, compiled versions of any new or modified scripts are immediately cached on disk for later reuse. This guarantees good acceleration, but scripts are then cached in shared memory, and offering the maximum performance gains.

The Accelerator has one other performance enhancing feature - a built-in code optimiser. Although in it's early stages, the optimiser reduces the size of compiled code and improves the code by removing unnecessary operations.

So in summary, by aggressively removing operations causing performance overhead, the Accelerator is able to deliver performance rivalling the very best alternatives, and for free!

There are also a few performance tests and testimonials that illustrate the potential impact of the Accelerator.

© Copyright 2001-2004 ionCube