That is, any sort of astonishing improvements is often a sign of the original version being crappy, so it's also a red flag even if it's ultimately the good news.
That is, any sort of astonishing improvements is often a sign of the original version being crappy, so it's also a red flag even if it's ultimately the good news.
So of course a pointy-haired boss found out about it and you end up with stupid stuff like this: https://en.m.wikipedia.org/wiki/Intel_Upgrade_Service
But also the user you are quoting, the "gamedev trick" is actually somewhat of a true story as well. But it wasn't an optimization trick. It was just different teams that each acted as if they are working on the most important thing, competing for limited old-hardware resources! Some coders, pre-version control, would just pre-allocate ram even if they didn't really need it, just so they don't have to go through the dance of asking other teams to release some. As you can imagine, when the project ended up going beyond the hardware limits causing chaos and stress to the devs, those people would descend as heroes and say "Here I was able to free 512kb!" (from their unnecessary preallocation calls)
Ah, to be old on the internet... :)
Joke's on them, software gets slower faster than hardware gets faster.
Actually, I'd argue they are fixing other people's mistakes with some of this.
A great example are the changes around devirtualization and/or removing certain branches, be it in the code level or at the CLR (.NET VM) level. 5-10 years ago, these changes would likely provide far less benefit, possibly not even worth the effort.
But thanks to Spectre/Meltdown/etc, getting rid of such things (especially near the IO layer) has become more important.
How is it a red flag? I don't quite understand your comment.
Something like: a Microsoft programmer uncommented
// PERFORMANCE_MODE = true
to make .NET fast.
His comment is just silly :-)
Perhaps not trivial, but it did have easy optimizations - within hours of it being open sourced, external people who had not worked on the codebase were making pull requests with straightforward (and in some cases substantial) optimizations. Matt Warren (author of Benchmark.NET) has tracked many of these.
Since open sourcing performance is one of the goals in mind. And it shows.
I don't think I agree with this, but hopefully that makes it more clear what was meant.
It's more like there's been a few hundred small individual improvements and those provide a lot of improvement in total.
That's a question that can't be answered by comparing one version of .Net to another version. Instead we'd need to compare the performance of .Net to a rival system like the JVM. edit Or rather, a JVM.