Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:67297 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 80399 invoked from network); 4 May 2013 13:31:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 May 2013 13:31:22 -0000 Authentication-Results: pb1.pair.com header.from=Terry@ellisons.org.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=Terry@ellisons.org.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain ellisons.org.uk from 79.170.44.47 cause and error) X-PHP-List-Original-Sender: Terry@ellisons.org.uk X-Host-Fingerprint: 79.170.44.47 mail47.extendcp.co.uk Received: from [79.170.44.47] ([79.170.44.47:39112] helo=mail47.extendcp.co.uk) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5B/0C-26044-03D05815 for ; Sat, 04 May 2013 09:31:21 -0400 Received: from athedsl-4384229.home.otenet.gr ([79.130.85.213] helo=[192.168.0.36]) by mail47.extendcp.com with esmtpa (Exim 4.80.1) id 1UYcWa-0008Qd-Md; Sat, 04 May 2013 14:29:16 +0100 Message-ID: <51850D2B.80902@ellisons.org.uk> Date: Sat, 04 May 2013 16:29:15 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 MIME-Version: 1.0 To: pecl-dev-@lists.php.net CC: "internals@lists.php.net" , Andi Gutmans , Stanislav Malyshev , Dmitry Stogov , Zeev Suraski , Brendon Colby , Christopher Jones , Marten Lehmann Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated-As: Terry@ellisons.org.uk Subject: Multi-level Caching Fork of OPcache -- update From: Terry@ellisons.org.uk (Terry Ellison) Please treat this email by way of request for feedback from the OPcache developers and anyone interested in influencing my next steps on my https://github.com/TerryE/opcache fork of OPcache and specifically on the dev-filecache branch. The most appropriate channel is probably https://github.com/TerryE/opcache/issues -- unless you think that the comments have wider applicability for either the PECL or DEV communities. My ultimate aim is to take this to a point where the OPcache developers feel sufficiently comfortable to consider merging a future version back into OPcache. I have added some detailed project wiki pages documenting my scope and progress and in particular on https://github.com/TerryE/opcache/wiki/MLC-OPcache-details and a brief quote from the page: > An indication of the potential performance benefits of OPcache CLI > mode can be seen from a simple benchmark based on 100 executions of > the MediaWiki runJobs.php maintenance batch script. This compiles some > 44 PHP sources, comprising 45K lines and 1,312 Kbytes. The cached > version reads a single runJobs.cache file of 1,013 Kbytes. > > Time in mSec Average Stdev > Uncached Execution 179 7 > Cached Execution 77 7 > (Image Load Overhead) 18 3 In other words for this script, the MLC cache is delivering an approximate 60% runtime saving. Of course this is only a point test, and benefits will vary -- though I hope that switching to LZ4 compression will improve these figures further. But even this one point challenges what seems to be a core PHP development dogma: "there's no point in using a file cache, because it makes no material performance difference". Even this build *does* deliver material benefits , and I suggest that there is merit in moving to including MLC cached modes to accelerate CLI and GCI SAPI modes using this or a similar approach. From an internals -- rather than PECL -- viewpoint what this would mean is that non-cached incremental compile-and-go execution modes would now be the exception than the norm -- largely negating the disadvantages of any compile-intensive optimization options. So thank-you in anticipation for your feedback. I will do my utmost to respond constructively to all comments. :-) Regards Terry Ellison PS. Apologies in advance: I am "up country" at my cottage on an Island in the north Aegean with the nearest Wifi some walk away, so my Internet access is limited at the moment, and I might take some time to respond.