Processor encoding performance boost
I have happened to have access to a few "high end" computers from various years recently, so thought I'd run my own test on how much generations of change makes to real-world tasks. There are of course, many in-depth reviews on these CPUs, but not often do they compare over such old systems. I encode a lot of video, and it always irks me that when a new and improved codec becomes popular, it's always takes vastly longer to encode a video. My current codec of choice is h.265 (HEVC).
My test setup is:
0:28:11 - 0:33:11 of Olympus Has Fallen BluRay (1080)
Handbrake 1.5.1 with:
- MKV & h.265
- Optimal size anamorphic
- No filters
- Constant quality 19
- Match FPS
- Constant framerate
- Slow encoder
- Grain tune
- Main / 4.0
- DTS-HD MA pass through
- Subtitles x1
I have to hand, a first generation Intel Core i7-920 (Nehalem) 4/8t core 2.66GHz from 2008, running at stock speeds. An Intel i7-5930K (Haswell-E) 6/12t core @4.4GHz from 2014. An Intel Core i9-12900 (Alder Lake) 8p/16t 8e core 3.8-5.1GHz from 2022.
Computer | Time To Encode (All Cores) | Time To Encode (4 Core) |
---|---|---|
Intel i7-920 (2008) | 1:31:48 (1.32fps) (-332% slower than 5930K) | 1:31:48 (1.32fps) - Max cores |
Intel i7-5930K (2014) | 27:36 (4.4fps) | 37:56 (3.21fps) |
Intel i9-12900 @2.4GHz (2022) |
15:18 (7.95fps), +80% over 5930K. |
53:03 (2.28fps) -29% decrease! |
Intel i9-12900 (2022) | 14:50 (8.19fps) +86% |
26:25 (4.57fps) - P-cores: +42% over 5930K |
What was interesting to observe was, while the i7's were capable of maxing out all cores, the i9 wasn't. Even with tweaking the performance focus to run at maximum pelt, there were often cores sitting idle. It seems that there is a limit to the number of cores that are useful for this scenario. So as another comparison, I've re-run the test using the lowest common number of cores, 4. I further found that the Alder Lake i9 wasn't exceeding the base clock of 2.4GHz. While Turbo Boost was enabled on this HP build, it didn't show up in Windows - finding a secret "High Performance" mode in the BIOS did the trick, and the CPU scaled all the way up to 100°C (a bit toastier than the 70°C the Haswell ticked over on).
With all cores available and running full pelt (up to 5GHz), the i9 was marginally quicker than when it was capped to 2.4GHz. What was surprising is that pegged to 4 p-cores at base frequency, the Alder Lake was nearly 30% slower than the Haswell, but this jumped massively with clock speed to be 40% faster. When the extra cores were introduced, the difference was even greater, but then the clock speed difference was marginal with a 6% boost to the base clock. It seems on this sort of work load, that threads can make up the difference over clock speed.
I had real problems with pinning to only the e-cores, when I selected four consecutive cores, only one would load. I alternated (16,18,20,22) and managed to get a better distribution, but even then not all cores were at 100% all the time, which is frequently something you see with encoding. The performance of the Gracemont E-Cores (which clock to 3.8GHz) hit in about the same as the 2008 2.66Ghz i7-920.
While there is nothing surprising in any of this, I like to occasionally take stock of how much processing power changes over the years. The Nehalem is still in service, but the small amount of RAM relative to today's memory-hungry applications seem to have the biggest impact on usability.