On Apr 30, 2007, at 5:07 PM, Ashley M. Kirchner wrote:
I did a test running convert, single processor and got the
following timing:
ImageMagick 'convert', 1 process, JPEG (command line)
real 8m35.515s
user 6m18.674s
sys 1m46.344s
Then I wrote a small PHP script that does the same thing (read
image, resize with constrain) and ran it through the command line,
and got this:
PHP, 1 process, JPEG (through PHP CLI)
real 36m17.260s
user 35m38.972s
sys 0m30.651s
Why oh why is it so much slower?! Is there something
inheritedly slow within PHP that causes it to be so much slower
(which in turn causes the Apache process to also take an incredible
amount of time to finish the same task)?
Interesting. I'm not sure, as I don't use PHP. You might have better
luck getting an answer if you post your test scripts to a PHP list.
A few things I might do if I were trying to diagnose this:
- throw in a few getrusage()s to see which section of the script is
using the most time - maybe I'd get lucky and see one obviously wrong
- ltrace shows all calls to shared libraries - maybe it could uncover
something weird
- use whatever profiling tool is available for profiling PHP scripts.
(In Python, I'm fond of hotshot.)
- find out what underlying library they're using and try it from a
different language (Python, C, whatever) to see if the library or PHP
is the problem.
- compile the PHP interpreter itself with profiling and run it
through gprof to where the time went.
--
Scott Lamb <http://www.slamb.org/>
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos