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!
>>
>>
>>
>

Reply via email to