3 ms·
The thing about performance is that it's almost always a trade-off. For very mature projects, you hardly ever get a win on everything, you usually get an increa
by bleah1000 7y ago
The thing about performance is that it's almost always a trade-off. For very mature projects, you hardly ever get a win on everything, you usually get an increase here and a decrease over there. It's very likely that optimizing for the microbenchmarks is actually hurting the real world performance, which is why it's gotten worse over time. So, optimizing for the microbenchmarks is more likely than not to actively harm real world performance.
For example, if you have a caching scheme that was designed to make the microbenchmark better, it could very easily make real world performance worse. Like if the microbenchmark used 100 sized X blocks, so you pre allocated those on start-up, great microbenchmark speed up. But in the real world that hurts start-up time, and the cache is probably not fully utilized.
A lot of times it's good to use microbenchmarks as a signpost, to indicate if some performance tuning causes a massive degradation that is unexpected.