For interested people, there is a thread in D.learn that shows a missed inlining in DMD: http://forum.dlang.org/thread/alnkynbdyddtrwpmfngr@forum.dlang.org (After that manual inlining the D code is slower still than the same C++ code). I think @forceinline is not necessary here, a more aggressive inliner seems enough. Bye, bearophile