Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:98939 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 68990 invoked from network); 2 May 2017 18:44:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 May 2017 18:44:10 -0000 Authentication-Results: pb1.pair.com smtp.mail=lists@rhsoft.net; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=lists@rhsoft.net; sender-id=pass Received-SPF: pass (pb1.pair.com: domain rhsoft.net designates 91.118.73.15 as permitted sender) X-PHP-List-Original-Sender: lists@rhsoft.net X-Host-Fingerprint: 91.118.73.15 mail.thelounge.net Received: from [91.118.73.15] ([91.118.73.15:30091] helo=mail.thelounge.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 34/09-02776-773D8095 for ; Tue, 02 May 2017 14:44:08 -0400 Received: from srv-rhsoft.rhsoft.net (Authenticated sender: h.reindl@thelounge.net) by mail.thelounge.net (THELOUNGE MTA) with ESMTPSA id 3wHVYv3LW4zXM9 for ; Tue, 2 May 2017 20:44:03 +0200 (CEST) To: internals@lists.php.net References: <79ca3537-b439-583a-6162-05da302711f2@rhsoft.net> <7f150dd4-dc1f-7487-ca3f-6916b944d98c@rhsoft.net> Message-ID: <77a154b7-0df6-21dd-6b92-ebcafaf08510@rhsoft.net> Date: Tue, 2 May 2017 20:44:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0 MIME-Version: 1.0 In-Reply-To: <7f150dd4-dc1f-7487-ca3f-6916b944d98c@rhsoft.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-CH Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] the experimental jit-branch is impressive From: lists@rhsoft.net ("lists@rhsoft.net") and BTW: for the 7.2.0 build i have not built pecl-extensions so the application is runnign witout APCu which means loading a single template in a core-cms-setup takes 1.6% versus 0.06% of the whole page maybe one missing relevant information: * no 3rd party code and micro-optimized to death over months * 100% declare(strict_types=1); after some months of works * 99.9% of all functions are using type-hints for all params could be that the JIT has some benefit from that combined with the PGP-profiling and heavily CPU optimizations - i will give it a try and leave out the PGO-profiling and compare if the gain stays similar Am 02.05.2017 um 20:21 schrieb lists@rhsoft.net: > that would be the numbers of 7.1.5RC1 *without* opcache > > Requests per second: 136.46 [#/sec] (mean) > Time per request: 366.405 [ms] (mean) > Time per request: 7.328 [ms] (mean, across all concurrent requests) > Transfer rate: 5429.78 [Kbytes/sec] received > > 7.1.5: Requests per second: 136.46 > 7.1.5 opcache: Requests per second: 316.77 > 7.2.0 JIT: Requests per second: 925.96 > > same hardware, same scripts, httpd hard restarted > ab -c 50 -n 20000 > > believe it or not - i know my php environemt and what i benchmark :-) > > Am 02.05.2017 um 20:12 schrieb lists@rhsoft.net: >> Am 02.05.2017 um 20:02 schrieb Nikita Popov: >>> On Tue, May 2, 2017 at 7:14 PM, lists@rhsoft.net >>> >> > wrote: >>> >>> and with a demo-page containing all sort of modules and bloat the >>> difference is even greater - can't wait to see that in production >>> >>> is there anything known when it is expected to arrive in the >>> official tree or does Zend even hold it back until the point when >>> they can suprise with a "we are done, all tests are fine and we can >>> merge it" announce? >>> >>> PHP 7.1: >>> Requests per second: 316.77 [#/sec] (mean) >>> Time per request: 157.844 [ms] (mean) >>> Time per request: 3.157 [ms] (mean, across all concurrent requests) >>> Transfer rate: 12604.11 [Kbytes/sec] received >>> >>> PHP 7.2 JIT: >>> Requests per second: 925.96 [#/sec] (mean) >>> Time per request: 53.998 [ms] (mean) >>> Time per request: 1.080 [ms] (mean, across all concurrent requests) >>> Transfer rate: 36842.68 [Kbytes/sec] received >>> >>> These results are very unlikely. I'm 95% sure your benchmark is >>> broken. My first guess would be that you're benchmarking PHP + JIT >>> against PHP without opcache. Please share the relevant >>> (opcache-related) portion of the php.inis you used >> >> no they are not - since i build RPM packages and even the whole >> spec-file is unchanged, only the tarball changed and the build is >> highly optimized i can assure you for 100% that i compare PHP 7.1.5RC1 >> with https://github.com/zendtech/php-src downloaded today >> >> maybe the PGO-profiling running autotests and fuzzy-calls on the whole >> application as well as 2000 cms-requests combined with the compiler >> flags improves the JIT itself >> >> without opcache the results for 7.1.5 are *dramatically* slower >> >> and i repeated the test upgrade/downgrade packages and run "ab" >> multiple times on that machine - attached the "php.spec" which is used >> for the build >> >> in just downloaded the zip from https://github.com/zendtech/php-src, >> renamed it to "php-7.2.0", made a tar.xz archive, changed the version >> on teh frist line in the spec file and fired the build/profiling - >> nothing else changed >> _______________________________________________ >> >> phpinfo() of the test machine >> >> PHP Version 7.1.5RC1 >> Build Date May 2 2017 12:19:59 >> >> This program makes use of the Zend Scripting Language Engine: Zend >> Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with >> Zend OPcache v7.1.5RC1, Copyright (c) 1999-2017, by Zend >> Technologies with Xdebug v2.5.3, Copyright (c) 2002-2017, by >> Derick Rethans >> >> Directive Local Value Master Value >> opcache.blacklist_filename no value no value >> opcache.consistency_checks 0 0 >> opcache.dups_fix Off Off >> opcache.enable On On >> opcache.enable_cli Off Off >> opcache.enable_file_override On On >> opcache.error_log /var/log/php_error.log /var/log/php_error.log >> opcache.fast_shutdown 1 1 >> opcache.file_update_protection 2 2 >> opcache.force_restart_timeout 180 180 >> opcache.huge_code_pages On On >> opcache.inherited_hack On On >> opcache.interned_strings_buffer 8 8 >> opcache.lockfile_path /tmp /tmp >> opcache.log_verbosity_level 1 1 >> opcache.max_accelerated_files 1000 1000 >> opcache.max_file_size 327680 327680 >> opcache.max_wasted_percentage 5 5 >> opcache.memory_consumption 128 128 >> opcache.opt_debug_level 0 0 >> opcache.optimization_level 0x7FFFBFFF 0x7FFFBFFF >> opcache.preferred_memory_model no value no value >> opcache.protect_memory 0 0 >> opcache.restrict_api /usr/share/php/zendoptimizer.php >> /usr/share/php/zendoptimizer.php >> opcache.revalidate_freq 5 5 >> opcache.revalidate_path Off Off >> opcache.save_comments 0 0 >> opcache.use_cwd On On >> opcache.validate_permission Off Off >> opcache.validate_root Off Off >> opcache.validate_timestamps On