So I just re-ran a test and eliminating the register keyword everywhere (at least on mac 10.14) still results in a very slight but consistent performance decrease, approximately 1%.
Given it seems to be on its way out, standards wise, what options do we have?
it's not on it's way out for C, that's a C++ thing. just means we should probably continue to ignore it and not add more intentionally.
i'm sure at some point, if push comes to shove, we can just take the hit and remove it if we hit a maintenance issue. not like it's an issue. I just wanted to give a situational awareness update -- still amazingly providing some benefit with current compilers, which is the real surprise.
Although I admit we're a ways away, it'll most likely become an issue if we try to get the "build everything as C++" option working. Maybe we can preprocess it out for that case somehow?
A simple #define register /**/ in config would make them all go poof. Not an issue.
I think that's what was originally done, I think maybe used -Dregister=""
It's worth noting that we seem to be a solid 25% slower than we were some time ago. I have vgr results spanning a broad gamut, with current optimized builds sitting right in the middle of the pack:
agua:.build morrison$ grep vgr bench/summary |awk '{print $9}' | sort -n
13756.42
14717.22
15413.82
15542.82
15788.07
15974.65
16610.00
16619.31
16810.47
17450.78
17922.01
18847.25
19818.99
21523.09
31678.95
31773.81
33843.48
33974.45
33988.44
34024.96
34287.17
34377.16
36554.54
38227.29
38659.17
39677.67
39860.67
39976.24
40401.68
41149.49
42381.23
44658.15
46135.64
The teens are simply default unoptimized builds and are to be expected. Current optimized is in the 34k ballpark, yet I clearly have had significantly faster builds, more typically in the 40k range.
Trying an pgo build.
Ugh, PGO build is actually showing 10% slower... will have to dig deeper.
30k
Last updated: Oct 09 2024 at 00:44 UTC