Around 0.000400 seconds (but sometimes 0.001000).
On Fri, Nov 6, 2015 at 5:39 PM Stefan Karpinski <ste...@karpinski.org> wrote: > 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 <ste...@karpinski.org> > 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 < >> cris...@gmail.com> 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! >>> >>> >>> >> >