I've been wondering about the impact of insturction cache misses and potential downsides of executable bloat caused by C++ templates, but have never seen a real case of this being a problem.
I wonder if modern compilers would have allowed the team to keep at it.
It's been a while, but if I recall correctly, the optimized, stripped exe's at the time were a bit under 100mb. >500mb with debug symbols, etc.
I guess a naive compiler could have issues but every time I check something on compiler explorer, the modern big boys (GCC, LLVM, ICC?) are pretty shrewd (Especially if you optimise for size).
I'm know little about this area, so I'm curious.
perf record -e icache.ifdata_stall ./test-program-binary
followed by perf report
or, for fancy viewing, use hotspot from KDAB.This is on linux, btw, but it should work fine with wine.