Re: the experimental jit-branch is impressive
| From: | lists@rhsoft.net | Date: | Tue, 02 May 2017 18:44:03 +0000 |
| Subject: | Re: the experimental jit-branch is impressive | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-98939@lists.php.net to get a copy of this message | ||
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* opcacheRequests 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] received7.1.5: Requests per second: 136.467.1.5 opcache: Requests per second: 316.777.2.0 JIT: Requests per second: 925.96same 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 <mailto:lists@rhsoft.net> <lists@rhsoft.net <mailto:lists@rhsoft.net>> wrote: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 Rethansand with a demo-page containing all sort of modules and bloat the difference is even greater - can't wait to see that in productionis 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] receivedPHP 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] receivedThese 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 usedDirective 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