On 18.11.2014 00:14, Vladimir Panteleev wrote:
I proposed to build Phobos and Druntime with stack frames enabled:

[...]
Personally, I think the 0.1% is practically negligible considering the
advantages. My proposal was rejected, so I'd like to hear more opinions
about this. What do you think?


I'm in favor of this change, but wanted to test the effect myself. I ran the druntime/benchmark tests with and without the -gs option. These tests mostly exercise the GC and dynamic and associative array implementations. Please note that I'm running a mobile i7 and benchmarks can vary quite a bit (average and standard deviation of 5 runs):

Win32 master:     33.8s +- 0.5s
Win32 master -gs: 35.8s +- 0.6s
=>                +5.9%

Being slighlty shocked by the difference, I reran the tests, but without a significant different result. Can someone else reproduce this difference?

On Win64 the tests need quite a bit more memory so they get slower, but the difference is a lot less:

Win64 master:     46.1s +- 0.8s
Win64 master -gs: 46.3s +- 0.4s
=>                +0.4%

This can be compensated with tiny optimizations, e.g. https://github.com/D-Programming-Language/druntime/pull/1027, which are lurking everywhere.

Reply via email to