Hi Pierre,

It looks like the training process is not a trivial task.
It may speedup one apps and slowdown others.
In my experiments training with many apps leaded to worse results.

I'm trying to identify the optimization patterns that lead to speed
improvement, but without success yet

Thanks. Dmitry.

On Thu, May 28, 2015 at 5:46 AM, Pierre Joye <pierre....@gmail.com> wrote:

>
> 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