Re: the experimental jit-branch is impressive

From: 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* 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 <mailto:lists@rhsoft.net> <lists@rhsoft.net <mailto: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


« previous php.internals (#98939) next »