From a C++/JS benchmark
bearophile
bearophileHUGS at lycos.com
Sat Aug 6 11:20:45 PDT 2011
Iain Buclaw:
Are you using GDC2-64 bit on Linux?
> Three things that helped improve performance in a minor way for me:
> 1) using pointers over dynamic arrays. (5% speedup)
> 2) removing the calls to CalVector4's constructor (5.7% speedup)
> 3) using core.stdc.time over std.datetime. (1.6% speedup)
>
> Point one is pretty well known issue in D as far as I'm aware.
Really? I don't remember discussions about it. What is its cause?
> Point two is not an issue with inlining (all methods are marked 'inline'), but it
> did help remove quite a few movss instructions being emitted.
This too is something worth fixing. Is this issue in Bugzilla already?
> Point three is interesting, it seems that "sw.peek().msecs" slows down the number
> of iterations in the while loop.
This needs to be fixed.
> With those changes, D implementation is still 21% slower than C++ implementation
> without SIMD.
> http://ideone.com/4PP2D
This is a lot still.
Thank you for your work. I think all three issues are worth fixing, eventually.
Bye,
bearophile
More information about the Digitalmars-d
mailing list