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
