> -----Original Message-----
> From: Xuefer [mailto:[EMAIL PROTECTED] 
> Sent: Saturday, March 15, 2008 11:21 AM
> To: Rasmus Lerdorf
> Cc: Marcus Boerger; Stas Malyshev; Dmitry Stogov; Andi 
> Gutmans; internals@lists.php.net
> Subject: Re: [PHP-DEV] Patch for opcode caches
> 
> 
> >  I don't actually see early binding as being much of a problem, the 
> > real  problem is when the same class is both early and late 
> bound.  If 
> > you  consistently always bind early or always bind late, 
> opcode caches 
> > should  be quite happy to let you do that.  But if you mix the two, 
> > things get  chaotic and the problem becomes intractable.  We went 
> > through all this  in APC a couple of years ago.  My 
> initial, somewhat 
> > naiive attempt at
> i'm not sure why i can't reproduce it years ago with apc 
> enabled and i reproduce it with a complex script later.
> 
> a1.php
> class a { function aMethod() { echo __FILE__; } }
> a2.php
> class a { function aMethod() { echo __FILE__; } }
> child.php
> class child extends a { }
> 
> main1.php which is requested first
> include "a1.php";
> include "child.php";
> $child = new child()
> $child->aMethod(); // aMethod() from a1.php, but what if i 
> update a1.php after child.php is cached?
> 
> main2.php which is requested later
> include "a2.php";
> include "child.php";
> $child = new child();
> $child->aMethod(); // aMethod() from a1.php because of early 
> binding is done before cache? or from a2.php?
> 
> with and without opcode cacher, what is echo'ed if you 
> requests main1 first and main2 later?
> 
> with the delayed early binding, php behavior exactly the same 
> with opcode cachers enabled or disabled imho, with delayed 
> early binding, every class is binded once when there is no 
> opcode cacher, and opcode cacher can even decide to call bind 
> api before cache. looks like we can always the delay the 
> binding unless we want binary back compatbility for 3rd party 
> modules? correct me if i'm wrong
> 

Compatibility is not an issue for php-5.3.
We don't need to delay early-binding without opcode caches.
It will do exactly the same as current early binding but slower.

Thanks. Dmitry.

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

Reply via email to