ThinLTO is there. I think that should settle the final/virtual debate

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Sat Dec 3 17:36:50 PST 2016


First, presentation:
https://www.youtube.com/watch?v=9OIEZAj243g

Some of this is available in LLVM today, and everything presented 
here will be in 4.0 . The long story short: ThinLTO can do most 
of what LTO does but with a price that is much closer to the one 
of a regular build than the one of a classic LTO build.

LTO optimization can devirtualize all function that do not need 
to be virtual, and even use profile infos to speculatively 
devirtualize - aka JVM grade devirtualization.

I would love to see this leveraged to finally put to rest the 
final vs virtual debate. If we use this tech properly, everything 
that do not need to be virtual can be finalized - except across 
shared object, which shouldn't be too much of an issue in 
practice.



More information about the Digitalmars-d mailing list