PHP5って遅いのか?
via. http://angelicwing.net/diary/4758.html
名指しだったので(^^;ざっとですがやってみました。テストした環境は以下の通りです。
- CPU:Pentium4 3.0GHz/Mem:1GB
- CentOS4.4
- Apache 2.2.4(src)
- PHP 5.2.1(src)・4.4.7(src)
- eAccelerator 0.9.5.1
- PHPにbundleされているextensionはほとんどをsharedにし、テスト時は無効にしている
- 実行したコードは先日のエントリと同じもの
で、以下はPHP4.4.7での実行時間を100%としたときのグラフと一覧です(パーセンテージが「小さいほど」早い)。
none | ea(opt=0) | ea(opt=1) | |
---|---|---|---|
simple | 26.1% | 37.4% | 19.6% |
simplecall | 64.5% | 66.7% | 60.2% |
simpleucall | 72.4% | 74.9% | 67.6% |
simpleudcall | 77.0% | 77.5% | 69.7% |
mandel | 18.0% | 19.3% | 18.7% |
mandel2 | 22.6% | 21.7% | 19.3% |
ackermann(7) | 64.5% | 73.5% | 67.0% |
ary(50000) | 40.0% | 50.3% | 39.6% |
ary2(50000) | 35.9% | 43.0% | 41.6% |
ary3(2000) | 27.5% | 26.2% | 25.8% |
fibo(30) | 73.2% | 90.1% | 71.1% |
hash1(50000) | 67.6% | 59.1% | 57.4% |
hash2(500) | 27.6% | 28.2% | 27.9% |
heapsort(20000) | 36.3% | 30.1% | 28.4% |
matrix(20) | 24.4% | 24.7% | 23.8% |
nestedloop(12) | 29.3% | 29.2% | 21.0% |
sieve(30) | 32.1% | 32.4% | 30.8% |
strcat(200000) | 134.4% | 334.5% | 121.2% |
Total | 37.4% | 41.1% | 35.3% |
試した限り、1つを除いてPHP5の方が最大約5倍ほど早くなっていました。ちなみに、strcat(200000)のテストは、以下のコードを20万回繰り返すテストです。
<?php function strcat($n) { $str = ""; while ($n-- > 0) { $str .= "hello\n"; } $len = strlen($str); print "$len\n"; }