I'm curious what the third timing number "yet another experiment" was for the Julia code? I would imagine quite fast.
On Fri, Nov 6, 2015 at 12:37 PM, Stefan Karpinski <[email protected]> wrote: > Looks like a reasonable benchmark of this. Nice work. There's definitely a > lot of room for improvement of dynamic dispatch. We can't use classic > vtables because of the multiple part of Julia's dispatch – where do you > stick the vtable? Most of the time we get performance by avoiding dispatch > entirely, by pushing the dispatch up as far as possible, but there are > cases like what you've create here, where that doesn't work. > > On Fri, Nov 6, 2015 at 12:27 PM, Cristóvão Duarte Sousa <[email protected] > > wrote: > >> Hi, >> >> I've been wondering how Julia dispatching system would compare to the C++ >> virtual functions dispatch one. >> Hence, I write a simple test in both Julia and C++ that measures the >> calling of a function over the elements of both an array of concrete >> objects and another of abstract pointers to objects of derived types. >> >> Here is the code https://gist.github.com/cdsousa/f5d669fe3fba7cf848d8 . >> >> The usual timings for C++ in my machine, for the concrete and the >> abstract arrays respectively, are around >> 0.000143 seconds >> 0.000725 seconds >> >> For the Julia code the timings have much more variability, but they are >> around >> 0.000133 seconds >> 0.002414 seconds >> >> This shows that Julia (single) dispatch performance is not that bad while >> it has some room to improvement. >> >> If I'm doing something terribly wrong in these tests, please tell me :) >> >> PS: Thank you all, developers of Julia! >> >> >> >
