On Wed, Jan 13, 2010 at 10:25:01AM -0500, Graham Kelly wrote:
> Hi,
> 
> Optimizations such as 5+7 into 13 really don't get you much. ZEND_ADD (and
> other basic opcodes) are not in any way a slow point in a program. And
> unfortunately to be able to optimize these you would probably need to put in
> an extra pass in the compiler which would probably just slow things down
> (unless you have a LOT of these types of additions).
> 
> As for the foo() example... This looks very simple however it is actually a
> very hard problem that would most likely take far more time and resources to
> solve in the compiler then it would to just leave it be. The problem here is
> that you need to understand everywhere that $a is assigned a value and its
> value is used. The problem becomes very hard in other functions that have
> loops and other types of control structures. It really just ends up
> becomming a fairly complex mess to solve.
> 
> The same can be said about quite a few of the other optimizations you can
> think of. On the surface they seem simple (and a few of them actually are)
> but most of them are complex... largely do to some of the unique 'features'
> of PHP.
> 
> In any case, optimization in PHP is not a lost cause. The first thing you
> should really do is be using an opcode cache such as APC. Other than that

Unfortunately: APC does not work with PHP 5.3 -- I have a site where I would
love to use it but I cannot. I use APC to great effect elsewhere.

Can anyone say when APC will be fixed for PHP 5.3, what about it being
ready for PHP 6 ?

> there are some solutions being worked on. There is Zend Optimizer and there
> is pecl/optimizer (which to warn you is probably far from being stable).
> There are also a few efforts to compile PHP such as the PHC compiler.
> 
> Overall though, more often than not PHP is not the bottleneck of your
> program and thus optimization wont get you too much.

-- 
Alain Williams
Linux/GNU Consultant - Mail systems, Web sites, Networking, Programmer, IT 
Lecturer.
+44 (0) 787 668 0256  http://www.phcomp.co.uk/
Parliament Hill Computers Ltd. Registration Information: 
http://www.phcomp.co.uk/contact.php
Past chairman of UKUUG: http://www.ukuug.org/
#include <std_disclaimer.h>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to