PIC vs. non-PIC, take #2

After mentioning George's URL to Rasmus, he mentioned that George's blog is full of spam and that I should do those test myself rather. So I did (Not because Rasmsus said it, but because I only believe what I see myself ;-) The results did definitely show that a statically compile PHP module is faster than a DSO module, though it heavily depends on the script on how much it matters. I tested three different applications, a Hello World script (which doesn't print "Hello World", the homepage of a phpMyAdmin installation and three different configurations of eZ publish .


The "Hello World" application shows the largest performance increase, likely because it is pure PHP code only. The script ran 28% percent faster, and the raw data for this test is here .

Both phpMyAdmin and eZ publish show an increase of little more than 10%, which is not the 30% that was mentioned before, but definitely a worthwhile increase, and it simply comes by running PHP as a static (or non-PIC) module in Apache. Now let's hope that Joe can commit his patch soon. Raw results are available too, for phpMyAdmin and eZ publish .



When compiling php5 statically into apache, do I need to set any config attributes for this NON-pic stuff? (what the heck is PIC anyways?!)



No, you don't have to do anything, as PIC only has effect when linking against a shared library. PIC is Position Independent Code, allowing you to use the same shared library in different memory spaces (afaik).

Sorry, I posted this on the previous post.

I was wondering, what tool do you use to generate graphics from ab results

I used open office to visualize the results. And exported that too a PNG image.

Add Comment


Will not be posted. Please leave empty instead of filling in garbage though!

Please follow the reStructured Text format. Do not use the comment form to report issues in software, use the relevant issue tracker. I will not answer them here.

All comments are moderated

Life Line