Single core performance has not been stagnant. We're about double where we were in 2015 for a range of workloads. Branch prediction, OoO execution, SIMD, etc. make a huge difference.
The clock speed of a core is important and we are hitting physical limits there, but we're also getting more done with each clock cycle than ever before.
Doubling single-core performance in 10 years amounts to a less than 10% improvement year-over-year. That will feel like "stagnant" if you're on non-vintage hardware. Of course there are improvements elsewhere that partially offset this, but there's no need to upgrade all that often.
> less than 10% improvement year-over-year. That will feel like "stagnant"...
Especially when, in that same time frame, your code editor / mail client / instant messaging / conference call / container management / source code control / password manager software all migrate to Electron...
It’s actually just 7% improvements year over year!