4 ms·
wow, that is. Any idea if there are any downsides or bugs resulting from this optimization? Or is this just pure win?
by gtaylor 13y ago
wow, that is. Any idea if there are any downsides or bugs resulting from this optimization? Or is this just pure win?
- azakai 13y agoIt's on LTO (link time optimization), which was previously not much optimized for compilation speed. Most projects probably don't need LTO so this won't matter for them, but for projects like Firefox that do, faster LTO compilation is a great thing.
- riffraff 13y agonot being an expert of such things, could you explain to me why do you think most projects don't need LTO ? (I'm interpreting that as "won't gain much", rather than "will find optimizations unnecessary")
- joosters 13y ago"Most projects don't need LTO" is just opinion (to be fair, no-one needs LTO but it may still help many people) Larger projects could stand to gain more from LTO because the code will likely be spread across many more files. As a result, the compiler is only seeing a very small percentage of the code when it compiles each file. Potentially then, the compiler is missing out more optimisations.
- azakai 13y agoIn my experience things like PGO and LTO matter most in very large projects. Of course it depends on the codebase, but in general that's what I've seen. In very large projects, fully optimizing all the code is often unneeded, and bad because fully optimized code is larger (inlining, unrolled loops, etc.). PGO lets you find what actually needs to be optimized, and you can keep the rest compact to improve load times. Vice versa, PGO can tell you what code is run immediately on load so you can order it so that happens faster, etc. Similarly, LTO is most useful in large projects where it is not obvious to the compiler how to optimize across compilation unit boundaries - as in a small enough project, either there are few such boundaries or it is easy to manually optimize for them.
- kzrdude 13y agoYou could already have profiled & inlined performance critical code. With LTO, maybe you wouldn't have had to do that manually.
- rockdoe 13y agoSounds like it's a round of optimizations, see the changelog. It's both software and a .0 release, of course there will be bugs :)