Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86843 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69113 invoked from network); 24 Jun 2015 10:35:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Jun 2015 10:35:37 -0000 Authentication-Results: pb1.pair.com smtp.mail=php_lists@realplain.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=php_lists@realplain.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain realplain.com from 216.33.127.81 cause and error) X-PHP-List-Original-Sender: php_lists@realplain.com X-Host-Fingerprint: 216.33.127.81 mta21.charter.net Solaris 10 1203 Received: from [216.33.127.81] ([216.33.127.81:44006] helo=mta21.charter.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 61/62-55790-5F78A855 for ; Wed, 24 Jun 2015 06:35:34 -0400 Received: from imp09 ([10.20.200.9]) by mta21.charter.net (InterMail vM.8.01.05.09 201-2260-151-124-20120717) with ESMTP id <20150624103530.OHYJ23400.mta21.charter.net@imp09>; Wed, 24 Jun 2015 06:35:30 -0400 Received: from mtaout003.msg.strl.va.charter.net ([68.114.190.28]) by imp09 with smtp.charter.net id kAbW1q0030dCcRg05AbW1s; Wed, 24 Jun 2015 06:35:30 -0400 Received: from impout004 ([68.114.189.19]) by mtaout003.msg.strl.va.charter.net (InterMail vM.9.00.018.00 201-2473-151) with ESMTP id <20150624103530.EQOP17031.mtaout003.msg.strl.va.charter.net@impout004>; Wed, 24 Jun 2015 05:35:30 -0500 Received: from pc1 ([96.35.251.86]) by impout004 with charter.net id kAbW1q0031sc0so01AbWdb; Wed, 24 Jun 2015 05:35:30 -0500 X-Authority-Analysis: v=2.1 cv=bfnlUY/B c=1 sm=1 tr=0 a=Is5gsZaFXO8aPum+t7Tz+g==:117 a=Is5gsZaFXO8aPum+t7Tz+g==:17 a=hOpmn2quAAAA:8 a=N659UExz7-8A:10 a=BCPeO_TGAAAA:8 a=pGLkceISAAAA:8 a=g2Kqcd2lAAAA:8 a=67BIL_jfAAAA:8 a=lRBSXoDDAAAA:8 a=NEAV23lmAAAA:8 a=pNBXcHqfJU9J1m9WNUoA:9 a=pILNOxqGKmIA:10 Message-ID: <051CB45EE4B24C7C88C3EABC7E8EE0A2@pc1> To: "Dmitry Stogov" , "Ferenc Kovacs" Cc: "Yasuo Ohgaki" , References: Date: Wed, 24 Jun 2015 05:35:30 -0500 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="Windows-1252"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Subject: Re: [PHP-DEV] Move to Fast ZPP? From: php_lists@realplain.com ("Matt Wilmas") Hi Dmitry, all, ----- Original Message ----- From: "Dmitry Stogov" Sent: Wednesday, June 24, 2015 We should NOT use it everywhere. It'll lead to code bloat. Thanks. Dmitry. On Wed, Jun 24, 2015 at 12:21 PM, Ferenc Kovacs wrote: > On Wed, Jun 24, 2015 at 3:42 AM, Yasuo Ohgaki wrote: > > > Hi all, > > > > I'm wondering the state of Fast ZPP. > > https://wiki.php.net/rfc/fast_zpp > > > > Last year's Dmirty's commit message say, it should > > only applied to most used functions due to the state of > > Fast ZPP. > > > > commit 27f38798a1963de1c60aae4ef8a3675138255574 > > Author: Dmitry Stogov > > Date: Fri Jul 11 16:32:20 2014 +0400 > > > > Fast parameter parsing API > > > > This API is experimental. It may be changed or removed. > > It should be used only for really often used functions. > > (Keep the original parsing code and wrap usage with #ifndef > > FAST_ZPP) > > > > > > Are we supposed to convert anything to Fast ZPP now? > > What about the #ifndef FAST_ZPP? Is this required now? > > > > BTW, if we are supposed to use only Fast ZPP, > > https://github.com/php/php-src/blob/master/README.PARAMETER_PARSING_API > > should be updated. > > > > Regards, > > > > -- > > Yasuo Ohgaki > > yohgaki@ohgaki.net > > > > it was meant as a performance optimization for the most heavy/hot > codepaths. > What gave you the idea that the situation changed and we should use it > everywhere? Right, FAST_ZPP makes code larger, inlining stuff in each function, etc. But I was wondering, is there any more that can be done to optimize the slowness of the traditional ZPP? I don't recall any changes being made to it in the last 12-18 months to speed it up at all... Is there a particular part that's making it slow? Is it the *string* of param types? Is it the va_arg's, that doesn't allow the call to be optimized as well and/or the arg fetching that's slow? I know there were the syntax issues as well, but would using something like a single param (array pointer) for param types/values help at all? Or is it just the internals of ZPP that are inherently slow...? :-/ Or that's fine but the "mechanism" of getting there is the issue? Thanks, Matt