Hi everybody,

 

I made a simple test to know if it was possible to speed-up php performance
by using parallel programming.

 

I modified 2 functions within ./ext/standard/array.c file of PHP-7.0.0RC7 to
use openmp and added the 
-fopenmp flag to the compiler flags in the Makefile.

 

I modified the php functions  array_sum() and in_array() to do some
benchmarking.

I made changes in the php_search_array() function only using the strict
comparaison.

To make it work in all cases, you have just to do some cut'n'paste, but the
source is easier to read with only 1 change.

Use :  

OMP_NUM_THREADS=xx /path_to/php test_file.php

to specify xx, the number of threads to use in your test file

 

I got an average speed-up of 3.5 using 4 cores.

 

You can find all details:

.       Test files

.       Modified source files

.       Benchmarks

.       Faq

.       .

 

At  http://poc.yakpro.com/?php7_performance_boost_parallel_computing

 

My main goal is to initiate a global thinking, among php core developers,
concerning the parallel computing and php, at each level:

-            Core level: For speeding-up functions, but also the interpreter
(by parallelizing opcodes pre-fetching for example)

-            User level: imagine and implement simple and efficient
primitives to make the php developer comfortable with parallel programming.

 

A multicore php8 or php9?  Wouldn't be cool????

 

 

Best regards,

Pascal KISSIAN

 

Reply via email to