On May 26, 2015 11:43 PM, "Dmitry Stogov" <dmi...@zend.com> wrote:
>
> On Tue, May 26, 2015 at 6:24 PM, Rasmus Lerdorf <ras...@lerdorf.com>
wrote:
>
> > On 05/26/2015 07:33 AM, Dmitry Stogov wrote:
> > > Commit:    7dac4d449f72d7eb029aa1a8ee87aaf38e17e1c5
> > > Author:    Dmitry Stogov <dmi...@zend.com>         Tue, 26 May 2015
> > 17:33:25 +0300
> > > Parents:   ca31711625095c2d6e308d7f0fc9d371ad0934d4
> > > Branches:  master
> > >
> > > Link:
> >
http://git.php.net/?p=php-src.git;a=commitdiff;h=7dac4d449f72d7eb029aa1a8ee87aaf38e17e1c5
> > >
> > > Log:
> > > Add targets to simplify building PHP with FDO (Feedback Directed
> > Optimisation)
> > > PHP should be built with the folowing steps:
> > >
> > > make clean
> > > make -j4 prof-gen
> > > ; now php should be trained with some scripts
> > > ; for example `sapi/cgi/php -T 1000 /var/www/http/wordpress/index.php
>
> > /dev/null`
> > > make prof-clean
> > > make -j4 prof-use
> > >
> > > The "properly" trained build may give up to 10% real performance
boost!
> > > "Improprly" trained PHP might be even slower.
> >
> > Whoa, really 10%? I know there is AutoFDO coming in gcc 5.1 and I didn't
> > think this was really practical until then. Perhaps it is. I wonder if
> > this will spur php-wordpress, php-drupal and php-mediawiki tuned builds?
> >
>
> I hope, we will be able to identify the main sources of speed difference
> and provide a source level solution that won't require FDO.
> I'm going to work on this with a team of experts from Intel, but we don't
> have any receipt yet.
> In case anyone find something useful please share with me.
>
> At this point we know that FDO built inlines most memcpy() and memset()
> calls.
>
> Training scripts may speed-up some apps and slow-down others, but it looks
> like most real-life apps benefits from the the same things, while
synthetic
> benchmarks from something opposite. So improving real-life apps we
> slow-down bench.php and back :)

It should be possible to use what we use for the windows pgo profiling
build. All php code anyway:

https://github.com/OSTC/pgo-scripts/blob/master/README

Let me know if you like to share the same base, it could save some work.

Reply via email to