How stagnant is CPU technology?

Sometimes, people tell me that there is no more progress in CPU performance.

Consider these three processors which had comparable prices at release time.

  1. The AMD Ryzen 7 9800X3D (Zen 5, with up to 5.3 GHz boost) was released in 2024.
  2. The AMD Ryzen 7 7800X3D (Zen 4, with up to 5.1 GHz boost) was released in 2023.
  3. The AMD Ryzen 7 5800X3D (Zen 3, with 3.4 GHz base) was released in 2022.

Let us consider their results on on the PartialTweets open benchmark (JSON parsing). It is a single core benchmark.

2024 processor 12.7 GB/s
2023 processor 9 GB/s
2022 processor 5.2 GB/s

In two years, on this benchmark, AMD more than doubled the performance for the same cost.

So what is happening is that processor performance is indeed going up, sometimes dramatically so, but not all of our software can benefit from the improvements. Software developers must track the trends and adapt our software accordingly. Unfortunately, it is hard work and it requires expertise. In the case of this benchmark, the simdjson library is designed to benefit from better processor features.

Not all software can easily run much faster on new processors, and genuine progress is difficult.

Let us be ambitious. Let us move forward!

Daniel Lemire, "How stagnant is CPU technology?," in Daniel Lemire's blog, January 14, 2026, https://lemire.me/blog/2026/01/14/how-stagnant-is-cpu-technology/.
[BibTeX]

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

2 thoughts on “How stagnant is CPU technology?”

  1. Hey Dan,

    I subscribe to your feeds. I would love to hear your view on process architectures and throughput in a more detailed manner, given your research experiences. I have a lot of things to say too, given what we have been involved in.

    Your Admirer,
    Mahesh Shastry

Leave a Reply

Your email address will not be published.

You can also subscribe by email to this blog (non-commercial, no ads, weekly email).

How to post code (C, C++, Java, Python, etc.):

Wrap your code in backticks, like this:

`int main() {
    return 0;
}`