:::: MENU ::::

PHPを高速化する

Pocket

- DSAS開発者の部屋:phpを高速化する computed goto

# tar xvfz php-5.2.9.tar.gz
# cd php-5.2.9/Zend/
# php zend_vm_gen.php --with-vm-kind=GOTO
# cd ../
# ./configure --prefix=/usr/local/php-5.2.9-goto --with-apxs2 --enable-mbstring --enable-zend-multibyte --with-mysql --with-zend-vm=GOTO
# make
# make install

PHPをビルドするときcomputed gotoを使うと速くなるみたい、推奨。
試しなので、オプションは最低限のものを入れといた。

試してみた結果。場所はLocalCent。
funcはデフォ、gotoはcomputed gotoを使った方。

[root@localhost Zend]# /usr/local/php-5.2.9-func/bin/php bench.php
simple             0.218
simplecall         0.247
simpleucall        0.380
simpleudcall       0.451
mandel             0.666
mandel2            0.796
ackermann(7)       0.484
ary(50000)         0.032
ary2(50000)        0.026
ary3(2000)         0.312
fibo(30)           1.183
hash1(50000)       0.039
hash2(500)         0.056
heapsort(20000)    0.189
matrix(20)         0.155
nestedloop(12)     0.346
sieve(30)          0.142
strcat(200000)     0.024
------------------------
Total              5.746
[root@localhost Zend]# /usr/local/php-5.2.9-goto/bin/php bench.php
simple             0.136
simplecall         0.220
simpleucall        0.352
simpleudcall       0.402
mandel             0.516
mandel2            0.612
ackermann(7)       0.455
ary(50000)         0.031
ary2(50000)        0.007
ary3(2000)         0.282
fibo(30)           1.064
hash1(50000)       0.037
hash2(500)         0.048
heapsort(20000)    0.141
matrix(20)         0.150
nestedloop(12)     0.243
sieve(30)          0.119
strcat(200000)     0.023
------------------------
Total              4.839
Pocket


So, what do you think ?