Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-12 Thread Stas Malyshev
Hi! > I may commit it into master and pecl, but it means that pecl branch is > going to be ahead of PHP-5.5. In general, I think there's no harm in trying out new stuff on PECL - and marking those as alpha/beta initially - pecl has a mechanism to choose if you want only stable or also bleeding ed

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-12 Thread Stas Malyshev
Hi! > I don't think this is a safe optimization. In the following case it would > output 'b' and not 'a' which is the correct result: > > a.php: > define('FOO', 'a'); > include('b.php'); > ?> > > b.php: > define('FOO', 'b'); > echo FOO; > ?> > > It is certainly not likely for a constant to be

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-11 Thread Dmitry Stogov
Good point. Thanks. Dmitry. On Fri, Apr 12, 2013 at 3:09 AM, Graham Kelly-Cohn wrote: > I don't think this is a safe optimization. In the following case it would > output 'b' and not 'a' which is the correct result: > > a.php: > define('FOO', 'a'); > include('b.php'); > ?> > > b.php: > define

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-11 Thread Graham Kelly-Cohn
I don't think this is a safe optimization. In the following case it would output 'b' and not 'a' which is the correct result: a.php: b.php: It is certainly not likely for a constant to be defined twice but PHP currently just issues a notice and continues with the first constant value. On Thu

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-11 Thread Larry Garfield
Speaking as a userspace developer and site admin, I'd be fine with trading a more expensive compilation for a runtime improvement. Even a 100% increase in compilation time would pay for itself over only a dozen or so requests (assuming the runtime improvements are non-trivial, too). Naturally

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-11 Thread Laruence
Hey; I think it's a great idea, if all op_arrays in one script share the same literals table, let's say it's main scope 's literals table. then we can make all class entry, function entry share the same constant literal.. image that, same class(function) only need to lookup once in one s

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Dmitry Stogov
For now, the optimizations we do are quite chip. They may increase the compilation time on first request by 2, but on following requests we will get it back. Once we come to really expensive optimizations we will do it "offline" (in context of a separate process). Thanks. Dmitry. On Wed, Apr 10,

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Dmitry Stogov
Yes. And it's the reason I'm asking for agreement. I may commit it into master and pecl, but it means that pecl branch is going to be ahead of PHP-5.5. Thanks. Dmitry. On Wed, Apr 10, 2013 at 5:24 PM, Pierre Joye wrote: > hi Dmitry, > > On Wed, Apr 10, 2013 at 1:57 PM, Dmitry Stogov wrote:

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Arvids Godjuks
2013/4/10 Zeev Suraski > > -Original Message- > > From: Arvids Godjuks [mailto:arvids.godj...@gmail.com] > > Sent: Wednesday, April 10, 2013 4:08 PM > > To: PHP Internals > > Subject: Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5? > > >

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Johannes Schlüter
On Wed, 2013-04-10 at 15:57 +0400, Dmitry Stogov wrote: > The attached patch demonstrates it and adds per script constants > substitution explained in the following script > Will this case work properly: a.php: b.php: c.php: and then request #1 to a.php and request #2 to b.php? johannes

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Arvids Godjuks
2013/4/10 Florin Patan > >On Wed, Apr 10, 2013 at 4:07 PM, Arvids Godjuks > wrote: > > 2013/4/10 Dmitry Stogov > > > >> Hi, > >> > >> Recently, I've found that OPcache optimizer misses a lot of abilities, > >> because it handles only one op_array at once. So it definitely can't > >> perform any

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Pierre Joye
hi Dmitry, On Wed, Apr 10, 2013 at 1:57 PM, Dmitry Stogov wrote: > Hi, > > Recently, I've found that OPcache optimizer misses a lot of abilities, > because it handles only one op_array at once. So it definitely can't perform > any inter-function optimizations (e.g. inlining). > > Actually, it was

RE: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Zeev Suraski
> If applying optimizations in multiple passes would be a problem for speed, > especially on the first request, then maybe a way to solve this would be > to have > a configurable variable like: opcache.passes which is between 1 and 10 > (lets say) > and then have the engine do something like > this

RE: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Zeev Suraski
> -Original Message- > From: Arvids Godjuks [mailto:arvids.godj...@gmail.com] > Sent: Wednesday, April 10, 2013 4:08 PM > To: PHP Internals > Subject: Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5? > > 2013/4/10 Dmitry Stogov > > > Hi, > > &

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Florin Patan
>On Wed, Apr 10, 2013 at 4:07 PM, Arvids Godjuks >wrote: > 2013/4/10 Dmitry Stogov > >> Hi, >> >> Recently, I've found that OPcache optimizer misses a lot of abilities, >> because it handles only one op_array at once. So it definitely can't >> perform any inter-function optimizations (e.g. inlin

Re: [PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Arvids Godjuks
2013/4/10 Dmitry Stogov > Hi, > > Recently, I've found that OPcache optimizer misses a lot of abilities, > because it handles only one op_array at once. So it definitely can't > perform any inter-function optimizations (e.g. inlining). > > Actually, it was not very difficult to switch to "script

[PHP-DEV] OPcache optimizer improvement in PHP-5.5?

2013-04-10 Thread Dmitry Stogov
Hi, Recently, I've found that OPcache optimizer misses a lot of abilities, because it handles only one op_array at once. So it definitely can't perform any inter-function optimizations (e.g. inlining). Actually, it was not very difficult to switch to "script at once" approach. The attached patch