Checking On The Performance Of PHP 5.6
With this morning's release of PHP 5.6 I ran some quick PHP performance tests.
Having not ran any PHP 5.6 development build in quite some time, this morning after the official PHP 5.6.0 official release I was running some tests to ensure the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org wouldn't run into any problems when deployed on the latest version of PHP. Overall, everything is good and for those running the Phoronix Test Suite using any recent version of our open-source benchmarking software should be good for PHP 5.6.
I also ran phoronix-test-suite debug-self-test as a mini built-in PHP test-case that's used for debugging, basic performance testing, and stressing hot code-paths of the Phoronix Test Suite client. This command runs a number of common Phoronix Test Suite code-paths from parsing XML files, toying with common PTS objects, rendering result graphs, etc. I ran the command this morning on my main development system (Processor: Intel Core i7-4558U @ 3.30GHz (4 Cores), Motherboard: ASUS UX301LAA v1.0, Chipset: Intel Haswell-ULT DRAM, Memory: 8192MB, Disk: 2 x 128GB SanDisk SD6SP1M1, Graphics: Intel Device 0a2e (1200MHz), Audio: Intel Haswell-ULT HD Audio, Network: Intel Wireless 7260, OS: Ubuntu 14.04, Kernel: 3.16.1-031601-generic (x86_64), Desktop: Unity 7.2.2, Display Server: X Server 1.15.1, Display Driver: intel 2.99.914, OpenGL: 3.3 Mesa 10.3.0-devel (git-e9a4e74 2014-08-18 trusty-oibaf-ppa+gallium-nine), Compiler: GCC 4.8.2, File-System: ext4, Screen Resolution: 2560x1440).
I compared these basic results from the Phoronix Test Suite on PHP 5.6.0 against PHP 5.5.16 and PHP 5.4.32. All of these PHP versions were obtained from source and built with just adding the --enable-zip configure argument as the only change needed to support the Phoronix Test Suite.
With these results there was no performance improvements for the PTS-centered code-paths with the overall test time being at 261 seconds compared to 263 seconds with PHP 5.5, but at least it's still a big improvement over PHP 5.4 where it took 283 seconds. There also wasn't any large change in the peak memory usage with PHP 5.6.
### OVERALL DATA ### PHP: 5.6.0 DETAILED_SYSTEM_INFO: 0.065 seconds LIST_AVAILABLE_TESTS: 0.342 seconds LIST_AVAILABLE_SUITES: 16.346 seconds INFO: 0.016 seconds CLONE_OPENBENCHMARKING_RESULT: 61.829 seconds RESULT_FILE_TO_TEXT: 8.552 seconds DIAGNOSTICS: 0.012 seconds DUMP_POSSIBLE_OPTIONS: 0.010 seconds ELAPSED TIME: 261.519 seconds PEAK MEMORY USAGE: 38.25 MB PEAK MEMORY USAGE (emalloc): 33.915 MB ### OVERALL DATA ### PHP: 5.5.16 DETAILED_SYSTEM_INFO: 0.064 seconds LIST_AVAILABLE_TESTS: 0.326 seconds LIST_AVAILABLE_SUITES: 15.799 seconds INFO: 0.016 seconds CLONE_OPENBENCHMARKING_RESULT: 62.760 seconds RESULT_FILE_TO_TEXT: 8.902 seconds DIAGNOSTICS: 0.014 seconds DUMP_POSSIBLE_OPTIONS: 0.012 seconds ELAPSED TIME: 263.68 seconds PEAK MEMORY USAGE: 35.5 MB PEAK MEMORY USAGE (emalloc): 34.041 MB ### OVERALL DATA ### PHP: 5.4.32 DETAILED_SYSTEM_INFO: 0.064 seconds LIST_AVAILABLE_TESTS: 0.341 seconds LIST_AVAILABLE_SUITES: 18.894 seconds INFO: 0.017 seconds CLONE_OPENBENCHMARKING_RESULT: 66.196 seconds RESULT_FILE_TO_TEXT: 8.882 seconds DIAGNOSTICS: 0.014 seconds DUMP_POSSIBLE_OPTIONS: 0.012 seconds ELAPSED TIME: 283.26 seconds PEAK MEMORY USAGE: 35.5 MB PEAK MEMORY USAGE (emalloc): 33.947 MB