Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:70480 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 36182 invoked from network); 3 Dec 2013 08:29:54 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Dec 2013 08:29:54 -0000 Authentication-Results: pb1.pair.com smtp.mail=zeev@zend.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=zeev@zend.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain zend.com from 209.85.128.179 cause and error) X-PHP-List-Original-Sender: zeev@zend.com X-Host-Fingerprint: 209.85.128.179 mail-ve0-f179.google.com Received: from [209.85.128.179] ([209.85.128.179:35199] helo=mail-ve0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B9/50-34518-1869D925 for ; Tue, 03 Dec 2013 03:29:53 -0500 Received: by mail-ve0-f179.google.com with SMTP id jw12so9658957veb.24 for ; Tue, 03 Dec 2013 00:29:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=nkBXQgG99urLUUMCY8td7ymP8RRB8uq2XGiZw4lXt8c=; b=OCFO77oKLQaIGN/ZQMgW2zB0LgQx/7t9GLzF7cZWMrEjPdcMwJiVTRZf9E65KJp2Xb ngW5VRJytRARwSd7u0Zwiw9qNRKLtC3gson/ikfxAmFQ6Vrof+heBj/CQL4c/ajRdolh aHOVRIkldHJLBv5XXQGsbzwPi7AlEdptfviFHbfUA4sA5S3M1Smo99MtWggg0Lz37UDr u2AsyImXWzgInrOsOrIiy+D2ZH1zFX5ohxsvgcN6IgfBwJvdkMaHABEphtP3OHJ/ZDTD PJLtBOGdEvpPDRQRrSLCYsR1aT3Wr8Nkq2xkkf177yOvUnIcxlkQI+QR5PXqojspCLrQ Tj3w== X-Gm-Message-State: ALoCoQnwc5WHfErwJRsroVE8UCl6vW/g7rdULkfftJZ+zg+bc19oRFWZsGPM0kK7+6Spd4vYHSUEXkKAfIjizU3Zv397Gzc686eBHg7ru25wd8lVIqroeHBq67Y+VObJr9K/6QONioa3 X-Received: by 10.220.209.202 with SMTP id gh10mr668399vcb.50.1386059390360; Tue, 03 Dec 2013 00:29:50 -0800 (PST) References: <529D1197.5000305@nebm.ist.utl.pt> <8BCA5A38-788B-4E6A-A6AC-1A8DCBA3D8D9@zend.com> In-Reply-To: MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQHu51EZeShmbdq4R9RZhirQm4m/XQIxhB4gAsRlCpgBZ+iz+wHCTc/aAv3KeooCPRcr4gHX7YKAmYiW95A= Date: Tue, 3 Dec 2013 10:29:49 +0200 Message-ID: <759ccd0f06663defc84ffee473b51210@mail.gmail.com> To: Hannes Magnusson , Andi Gutmans Cc: Gustavo Lopes , Laruence , Dmitry Stogov , PHP Internals , Gadi Goldbarg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: RE: [PHP-DEV] strtr() performance degradation From: zeev@zend.com (Zeev Suraski) > -----Original Message----- > From: Hannes Magnusson [mailto:hannes.magnusson@gmail.com] > Sent: Tuesday, December 03, 2013 9:34 AM > To: Andi Gutmans > Cc: Gustavo Lopes; Laruence; Dmitry Stogov; PHP Internals; Zeev Suraski; > Gadi Goldbarg > Subject: Re: [PHP-DEV] strtr() performance degradation > > On Mon, Dec 2, 2013 at 10:54 PM, Andi Gutmans wrote: > > > > On Dec 2, 2013, at 3:02 PM, Gustavo Lopes > wrote: > >>> =E2=89=88 > >> > >> The progress consists of writing of scripts to test the point where to > >> switch > algorithms and trying some improvements on the old one without as > expensive preprocessing steps. > >> > >> Now, this was in the summer... I'll have some time in the holidays to > >> pick > up this and some other PHP-related backlog; that said, if there's some > impatience (which would be perfectly understandable...), I wouldn't mind > if > someone reverted to the previous state in the meantime. > > > > Sounds like this may take some time to figure out. So if there is > > absolutely > no difference in semantics between the two I would suggest we revert unti= l > you are able to dig into this. > > > > > This change was included in 5.4.12 and 5.4.22 has been released. > Now you want to revert and maybe release 5.4.23 and then apply again in > 5.4.24? > > That doesn't seem worth it. What done is done. Had it been reverted right > away then it would have make sense, but not 10 releases later? Hannes, To put things in perspective, the work that goes into improving PHP's performance by 10% is measured in months, sometimes more (from inception to production). Here, we have a patch that slowed real world apps (not synthetic benchmarks) by over 10%, and despite the fact it was reported 6 months ago, we've done absolutely nothing about it. If anything in that story doesn't make sense, that would be it. As to when we reintroduce it - I think it's absolutely fine that we don't reintroduce it in the 5.4.x series, or even the 5.5.x series, but slate it to 5.6.0 - and that too only if it's fully-baked by the time 5.6.0 is ready= . We've all experienced first-hand what a complete rewrite of a very popular piece of code can do, and the fact that compatibility can be broken not jus= t by changing behavior, but also by radically changing the algorithm in a way that produces very negative performance side effects. Performance should b= e one of the measures by which we weigh compatibility - a major regression in performance shouldn't be acceptable any more than a major regression in functionality. We should revert this patch ASAP; It's unfortunate we haven't done it back when it was found but better late than never. Zeev