On Tuesday, 10 September 2013 at 13:20:18 UTC, Iain Buclaw wrote:
On 10 September 2013 11:10, deadalnix <deadal...@gmail.com> wrote:
On Monday, 9 September 2013 at 16:43:54 UTC, Andrei Alexandrescu wrote:


http://www.reddit.com/r/programming/comments/1m1izv/goingnative_2013_writing_quick_code_in_c_quickly/

Andrei


So I'll jump in as I've seen the conf before that post.

It is really worthwhile to watch. Quite informative on the technical side (funilly, I did implement the solution presented in the devirtualization part on a platform where virtual function were not available because of crappy compiler, but had no idea it was worthwhile for speed, it wasn't the goal so I never measured, and it also may not the case on the given
plateform).


Interestingly enough, gcc recently added (about a month before Andrei
did the talk) a new interprocedural analysis pass that sets all
methods that can be devirtualised. I expect that LLVM have something cooking up for this too. As of yet, I haven't ran any tests which
show that this works though...

The main problem with devirtualization is that you can only have full benefits when targeting VM based environments.

With native generated code, it is only possible to apply devirtualization on static linked code.

--
Paulo

Reply via email to