The test is almost same as I did before on php 5.5, php5.4 and php5.3, or php-fpm. It is running on the HHVM and Nginx.

The installation of Ubuntu 14.04, Nginx, MariaDB, HHVM is posted yesterday.

Using default HHVM settings. The HHVM is version 3.5.0, Nginx is v1.6.2.

--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2015-02-12 00:03:25
Server : mysite.com@192.168.0.115
PHP version : 5.6.99-hhvm
Platform : Linux
--------------------------------------
test_ifelse               : 1.541 sec.
test_math                 : 0.935 sec.
test_stringmanipulation   : 1.153 sec.
test_loops                : 2.262 sec.
--------------------------------------
Total time:               : 5.891 sec.

It took more time than any other php version. I am confused and try to repeat the test, by refreshing the page.
The first ten times, are all around 5.8 seconds. Lower 5.788, higher 6.162. The eleventh gave me a shot, it is only 1.44 seconds. I kept refresh the page and saw similar results, around 1.4 seconds.
php-bench-1second-hhvm

--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2015-02-12 00:09:28
Server : mysite.com@192.168.0.115
PHP version : 5.6.99-hhvm
Platform : Linux
--------------------------------------
test_ifelse               : 0.065 sec.
test_math                 : 0.469 sec.
test_stringmanipulation   : 0.811 sec.
test_loops                : 0.093 sec.
--------------------------------------
Total time:               : 1.438 sec.

It is so fast.

I did a research and found the reason of first slow ten is for warmup.  It can be changed to zero.

OK, modify the /etc/hhvm/server.ini , add following in the end.

hhvm.jit_profile_interp_requests = 0

Restart HHVM and done.
The HHVM will do the JIT from the first run.

David Yin

David is a blogger, geek, and web developer — founder of FreeInOutBoard.com. If you like his post, you can say thank you here

Leave a Reply

Your email address will not be published. Required fields are marked *