digitalmars.D.announce - Blog post: PGO: Optimizing D's virtual calls
- Johan Engelen (11/11) Apr 13 2016 Hi all,
- Andrei Alexandrescu (7/17) Apr 13 2016 Noice.
- Johan Engelen (4/9) Apr 14 2016 Thanks for posting these!
- Kai Nacke (3/17) Apr 18 2016 Found this, too:
- Johan Engelen (3/8) Apr 15 2016 I've updated the article with performance measurements of just
- Marco Leise (12/21) Apr 20 2016 Compilers are full of logic that makes some code 0.5% faster.
- Johan Engelen (6/11) Apr 21 2016 This was the use-case I was optimizing for, and so I will add an
- Johan Engelen (6/9) Apr 29 2016 I packaged LDC v1.0.0 with PGO for OS X:
Hi all, I've written an article about how I implemented profile-guided optimization (PGO) of virtual calls to direct calls (a micro-micro-optimization, expected performance gain of just a few percent if any!). I hope it's interesting for those of you who like to read about compiler internals. https://johanengelen.github.io/ldc/2016/04/13/PGO-in-LDC-virtual-calls.html It's my first programming article, please be gentle with your comments :-) cheers, Johan
Apr 13 2016
On 04/13/2016 07:34 AM, Johan Engelen wrote:Hi all, I've written an article about how I implemented profile-guided optimization (PGO) of virtual calls to direct calls (a micro-micro-optimization, expected performance gain of just a few percent if any!). I hope it's interesting for those of you who like to read about compiler internals. https://johanengelen.github.io/ldc/2016/04/13/PGO-in-LDC-virtual-calls.html It's my first programming article, please be gentle with your comments :-) cheers, JohanNoice. https://twitter.com/D_Programming/status/720236648034877440 https://www.facebook.com/dlang.org/posts/1275322695814742 https://www.reddit.com/r/programming/comments/4elfok/profile_guided_optimization_optimizing_ds_virtual/ http://hackerne.ws Andrei
Apr 13 2016
On Wednesday, 13 April 2016 at 13:08:30 UTC, Andrei Alexandrescu wrote:Noice. https://twitter.com/D_Programming/status/720236648034877440 https://www.facebook.com/dlang.org/posts/1275322695814742 https://www.reddit.com/r/programming/comments/4elfok/profile_guided_optimization_optimizing_ds_virtual/ http://hackerne.wsThanks for posting these! -Johan
Apr 14 2016
On Thursday, 14 April 2016 at 08:20:53 UTC, Johan Engelen wrote:On Wednesday, 13 April 2016 at 13:08:30 UTC, Andrei Alexandrescu wrote:Found this, too: http://llvmweekly.org/issue/120Noice. https://twitter.com/D_Programming/status/720236648034877440 https://www.facebook.com/dlang.org/posts/1275322695814742 https://www.reddit.com/r/programming/comments/4elfok/profile_guided_optimization_optimizing_ds_virtual/ http://hackerne.wsThanks for posting these! -Johan
Apr 18 2016
On Wednesday, 13 April 2016 at 11:34:26 UTC, Johan Engelen wrote:Hi all, I've written an article about how I implemented profile-guided optimization (PGO) of virtual calls to direct calls (a micro-micro-optimization, expected performance gain of just a few percent if any!).I've updated the article with performance measurements of just the D code of LDC: the improvement with PGO is about 7% !
Apr 15 2016
Am Fri, 15 Apr 2016 09:04:21 +0000 schrieb Johan Engelen <j j.nl>:On Wednesday, 13 April 2016 at 11:34:26 UTC, Johan Engelen wrote:Compilers are full of logic that makes some code 0.5% faster. The sum of all these little bits is what makes up an optimizing compiler and if today you still find an optimization that's worth 1 or 2% you have a jackpot! 7% is quite a bit more than any other option like -cpu=native could achieve. If feasible I'd enjoy if ldc2 shipped with a pgo configuration option. If you use the compiler in a lot of edit/compile cycles it will pay off. -- MarcoHi all, I've written an article about how I implemented profile-guided optimization (PGO) of virtual calls to direct calls (a micro-micro-optimization, expected performance gain of just a few percent if any!).I've updated the article with performance measurements of just the D code of LDC: the improvement with PGO is about 7% !
Apr 20 2016
On Wednesday, 20 April 2016 at 22:10:53 UTC, Marco Leise wrote:7% is quite a bit more than any other option like -cpu=native could achieve. If feasible I'd enjoy if ldc2 shipped with a pgo configuration option. If you use the compiler in a lot of edit/compile cycles it will pay off.This was the use-case I was optimizing for, and so I will add an option to pass a PGO profile to the CMake script :-) Note that it is a 7% improvement in the D part of LDC. The optimizer (LLVM, C++) takes most of the time during compilation and so the overall performance increase is smaller.
Apr 21 2016
On Wednesday, 13 April 2016 at 11:34:26 UTC, Johan Engelen wrote:Hi all, I've written an article about how I implemented profile-guided optimization (PGO)I packaged LDC v1.0.0 with PGO for OS X: https://github.com/JohanEngelen/ldc/releases/tag/v1.0.0-beta1-pgo All your feedback is very welcome :-) cheers, Johan
Apr 29 2016