Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79569 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 43529 invoked from network); 11 Dec 2014 10:31:04 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Dec 2014 10:31:04 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 209.85.220.181 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.220.181 mail-vc0-f181.google.com Received: from [209.85.220.181] ([209.85.220.181:54320] helo=mail-vc0-f181.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B6/10-42256-56279845 for ; Thu, 11 Dec 2014 05:31:01 -0500 Received: by mail-vc0-f181.google.com with SMTP id le20so2309431vcb.26 for ; Thu, 11 Dec 2014 02:30:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=BIP16WXgxQSe5YtZzmLmw1Ag6UrFC2L5XhOlgB6qWBI=; b=msTUVoHmY+xQcvOlvQ3ArBhVilvcUCSUR9bJh1Rsc9jxDK9HdgSwkdLAlcL1rZCiST PRYyznqSjgiceaJ+ezuLvJ0n+hAUb6N36S7R18JB1gTbLUqbRP1lpxJyqGqX4XNgqHrR M2i3h6bd182uPQgBgGK4z8Cimj2rcK72Z7FTD9klxbDYlVvfnxI9KN9jbqfTwh+5QYB2 zXF2IqpPHB4VTKM0b7CAWbCNRZSRcSPrx+e+o4lHvITuDoJjaZrhtrV1T2/+HTPvmrnX iQMbaxwmA59+498bberzLLZiu6FGeWEkBHHVlOHasc5wgb6hDZSFQhNwCLRz9Ze4nDf6 xjTg== X-Gm-Message-State: ALoCoQlI0ad1QtKisE4y6RaukjtgfS2u6AEH2CS4J6BI/NifYWNYl/ARPPboo/BdH1Xwei5B3OjaccZj40igjxCy7gn86NwrCw/hkEkxAfg2YfHd5aXokpftJcYFCw3JawKd78p2OA/oJHITtG9rMPsKXYOFmjwxKA== MIME-Version: 1.0 X-Received: by 10.220.71.72 with SMTP id g8mr5964014vcj.33.1418293857822; Thu, 11 Dec 2014 02:30:57 -0800 (PST) Received: by 10.52.176.231 with HTTP; Thu, 11 Dec 2014 02:30:57 -0800 (PST) In-Reply-To: References: Date: Thu, 11 Dec 2014 14:30:57 +0400 Message-ID: To: Patrick ALLAERT Cc: PHP Internals , Xinchen Hui , Zeev Suraski , Nikita Popov , Derick , Joe Watkins , Bob Weinand Content-Type: multipart/alternative; boundary=047d7b3431a0955a7f0509ee45d7 Subject: Re: [PHP-DEV] 64-bit performance improvement by reducing zend_op size. From: dmitry@zend.com (Dmitry Stogov) --047d7b3431a0955a7f0509ee45d7 Content-Type: text/plain; charset=UTF-8 Right. Actually ZEND_EX_USE_RUN_TIME_CACHE and ZEND_EX_USE_LITERALS just control if corresponding fields of executed op_array should be cached in current call frame (zend_execute_data). VM will have to execute additional read/write on enter to each function, but then safe 1 read on each access to run_time_cache and constants. Surprisingly, I found that on some systems ZEND_EX_USE_LITERALS=1 is slower than ZEND_EX_USE_LITERALS=0. I can explain it only by increasing of the size of zend_execute_data. So I decided to introduce ZEND_EX_USE_RUN_TIME_CACHE for consistency (and to check its effect). It always makes improvement. :) Thanks. Dmitry, On Thu, Dec 11, 2014 at 1:05 PM, Patrick ALLAERT wrote: > Hi, > > 2014-12-10 16:27 GMT+01:00 Dmitry Stogov : > > Hi, > > > > Please, review the following patch > > https://gist.github.com/dstogov/fba2cc621ef121826efe > > Looks good, but Isn't ZEND_EX_USE_RUN_TIME_CACHE always defined to 1 > with your patch? > > Regards, > Patrick > --047d7b3431a0955a7f0509ee45d7--