www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Article: "Profile-Guided Optimization with LDC"

reply Johan Engelen <j j.nl> writes:
Because you can all download binaries for LDC 1.1.0-alpha1 now, 
it is time to release the article on how to use profile-guided 
optimization with the new LDC release.
Please test and report back to us! :)

https://johanengelen.github.io/ldc/2016/07/15/Profile-Guided-Optimization-with-LDC.html



"
Three months ago, I measured a 7% performance gain of the 
compiler front-end D code using Profile-Guided Optimization (PGO) 
with LDC. Now, part of my PGO work was merged into LDC master on 
Jun 20, 2016! This means it will be available in the next LDC 
release (version 1.1.0, needs LLVM 3.7 or newer). You can play 
with it with the LDC 1.1.0-alpha1 release. Here I’ll discuss how 
to use it, saving the implementation details for another article.

Using PGO with LDC is similar to using PGO with Clang, and much 
of this article also applies to Clang.

Profile-Guided Optimization (PGO)

“Profile-guided optimizations” are optimizations that the 
compiler can do when it is given information about the typical 
execution flow of your program, such that the typical execution 
flow of your program runs faster (and rare execution flows run 
slower). The typical execution flow information is the “profile” 
of your program: how many times was this function called, how 
often was a control-flow branch taken, how often was function A 
called by function B, what are likely values of variable X, how 
much memory is usually allocated for something, etc.
...
"
Jul 15 2016
next sibling parent Mike Parker <aldacron gmail.com> writes:
On Friday, 15 July 2016 at 08:11:31 UTC, Johan Engelen wrote:
 Because you can all download binaries for LDC 1.1.0-alpha1 now, 
 it is time to release the article on how to use profile-guided 
 optimization with the new LDC release.
 Please test and report back to us! :)

 https://johanengelen.github.io/ldc/2016/07/15/Profile-Guided-Optimization-with-LDC.html
Now that I think about it, I should have waited an hour or two, but here's the reddit link: https://www.reddit.com/r/programming/comments/4syadj/dlang_profileguided_optimization_with_ldc/
Jul 15 2016
prev sibling parent Dechcaudron <no-reply no-email.com> writes:
On Friday, 15 July 2016 at 08:11:31 UTC, Johan Engelen wrote:
 Profile-Guided Optimization (PGO)
This is dope. I'm learning a shitload about general programming and optimization techniques since I joined the D community a couple months ago. Great article :)
Jul 15 2016