Open Imperatorn opened 3 years ago
Hi, thanks, I think I've tried to apply the same optimisation to D lang but at the time there was no difference in perfromance.
For C and C++ I've spend some extra time trying different aproaches similar to what is done in ADA port, eg. tagged unions, inhertiance, reducing virtual functions etc. and then I've tried to keep idomatic implementation in each language as much as i could.
For now I've added final modifier to classes and I'll check what else can be improved.
I have not tried GCC D lang version but i belive it should have the same performance as C++.
Tbh I didn't spend so much time looking at it 😁, I just noticed there was a lot of classes with public stuff etc. I can take a real look later and report back ☀️
Hi! Interesting benchmarks 👍
But I see you are using some deprecated switches for D.
For example "noboundscheck" should be "boundscheck=off".
You're also using a lot of classes instead of structs (compared to the C++ version). If you don't want (don't have time) to change it to structs, consider adding the final keyword before class to make the comparison a bit fairer (vtable) :)
Thanks!