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... -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';