2013/1/25 Thomas Bley <thbley+...@gmail.com> > > One thing I can guarantee is that if we add it to core in its current > > condition it will delay 5.5 by 6+ months if not longer. > > I think it is fine if APC doesn't support all features of PHP. When > there is a clear documentation, everybody can decide if he skips some > features for better performance. Maybe this also offers room for more > optimizations. >
You cannot simply decide, what features you want to use, when you rely on third-party-libraries from time to time. > > Regards, > Thomas > > > On Fri, Jan 25, 2013 at 9:19 AM, Rasmus Lerdorf <ras...@lerdorf.com> > wrote: > > On 01/24/2013 11:56 PM, Ralf Lang wrote: > >>> From what I understood from Rasmus the biggest challenge with merging > APC > >>> into core is the fact that the compiler currently isn't built to > support > >>> opcode caching. One of the challenges he pointed out was some of the > >>> MAKE_NOP trickery that can make APC's work a bit more complex than > >>> necessary. It's possible to optimize the compiler enough to the point > that > >>> APC's code could be reduced down to very simple opcode caching, putting > >>> less stress on the engine and making it easier to maintain. > >> > >> I think there was some support for moving APC first from pecl to the PHP > >> standard distribution's ext folder before any tighter integration is > >> started. > > > > I'm really not convinced that by moving it to core we will magically get > > people to help with it. I have been trying to get people interested for > > years, and it hasn't gotten very far. Everyone wants it in the core, but > > with a couple of exceptions, nobody is willing to actually work on it to > > get it there. > > > > And I can understand the lack of help. It is probably the most > > complicated piece of the entire stack. It is a an op_array juggler doing > > a complex dance on a tight rope backwards and blindfolded. It is > > essentially multi-threaded in that there are multiple processes all > > reading and writing the same chunk of memory while dealing with a > > compiler that spits out context-sensitive op_arrays that were never > > designed to be cached and executed this way. > > > > So the learning curve is steep and the bugs are extremely hard to track > > down because it is the only PHP component that isn't a perfect sandbox. > > A slight memory corruption almost anywhere in any extension can segfault > > a dozen requests later with a backtrace that points to the opcode cache > > code. Not to mention web servers like Apache that longjmp() on us at the > > wrong time. Zend-signals addresses this, but even in 5.4 they aren't > > enabled by default because of stability issues and without those no > > shared memory opcode cache is safe. > > > > I firmly believe that we need opcode caching in core. I'm rather > > skeptical that simply moving pecl/apc to ext/apc is going to help users > > in any way. People have no trouble finding and installing APC today. The > > real issue here is robustness and lag time between a PHP release and and > > solid APC release and that has to do with resources which are scarce due > > to the code complexity. This is the real problem we need to solve. > > Either by a number of people stepping up to help with the existing APC > > code, or perhaps more realistically making it a priority in PHP 5.6 to > > streamline the engine and the executor for opcode caching and either > > including a heavily simplified version of APC or writing a new one. > > > > One thing I can guarantee is that if we add it to core in its current > > condition it will delay 5.5 by 6+ months if not longer. > > > > -Rasmus > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- github.com/KingCrunch