A 12900K will coast at 5GHz if you let it.
For example, I have a stock air cooled Nvidia GPU. Standard overclocking doesn't get me much because I get temp throttled. However undervolting, i.e., you boost clocks at lower voltages while not at higher voltages, leads to higher sustained clocks with _similar_ power/temps.
This is a consequence of power generally being linearly related to frequency and super linearly (even quadratically) to voltage.
Will the 12900K give a meaningful performance bump at the same clock speed?
https://www.cpubenchmark.net/compare/Intel-i7-8700K-vs-Intel...
That link assumes the 8700K is running at 3.7GHz - any idea if there is still that much improvement given that mine is running at 5GHz?
Edit: I did and you are right. I’m about 10% higher than the benchmark but still WAY below the i9-12900KS (by 25% single threaded)
Time to upgrade :)
I guess it’s time to upgrade :)
Tom’s Hardware 5800X3D review[1] has some efficiency numbers if you scroll down. High-end Zen 3 chips seem mostly a bit more efficient than high-end 12th-gen Intel. By far the most efficient CPU tested is the 5700X, which is AMD’s fastest 65W TDP part. They don’t have any low-power Intel chips (e.g. Core i7-12700T) in the test. (Though I’ve always found retail availability of low-power Intel chips to be terrible.)
1. https://www.tomshardware.com/news/amd-ryzen-7-5800x3d-review
The situation is very different for lightly threaded loads (e.g. what PCs tend to do a lot of the time, this also includes most games).
And the 5700X having low performance is taken into account by efficiency metrics - efficiency is performance divided by power draw, so whatever it in performance it more than gains in reduced power draw. (Of course, you might value your time more than your electric bill.)
Somehow I have misread it to mean that it can peak up to said power limit for UNDER 1 second, which is incorrect - the CPU will run at that limit for as long as cooling allows. The CPU will gulp down ~240W when under full load, as evidenced here at ~24 minutes: https://www.youtube.com/watch?v=fhI9tLOg-6I
Here are the architectures of Intel (according to Wikipedia):
1. i686 (Pentium Pro, Pentium II, Pentium III)
2. Core (Core 2)
3. Nehalem (Core i7-920, Core i5-750)
4. Sandy Bridge (Core i 2000 series)
5. Haswell (Core i 4000 series)
6. Skylake (Core i 6000 series)
7. canceled due to low yield
8. Sunny Cove (Ice Lake mobile 10xx and desktop 11xxx)
9. Willow Cove (Tiger Lake mobile 11xx)
10. Golden Cove (12xxx and 12xx)
If you're asking whether that 5Ghz is different than this 5Ghz, the main easy answer IPC (instructions per clock). Unfortunately there are no official IPC numbers, but every new release comes with vague unlabeled slides showing %increase, and then reviewres do their pinning the CPU at a specific clock and measure single-threaded performance to estimate relative IPC improvements (like this https://www.guru3d.com/articles-pages/core-i9-12900k-review,...)
If we go into multi-threaded workloads like compilation, then of course the new one completely throws the 8700k out of the water.
But please don't feel pressured to get on the latest and greatest bandwagon, I'm right here running around with a Thinkpad T460s (with a little bit of a need to upgrade).
_Usually_, if you are not waiting for your computer while CPU is on +90% utilization, there should be little gained from a CPU upgrade. (Workloads that depend heavily on cache size or memory latency are counter-examples)
Nor can there really be. IPC varies pretty wildly, and depends a LOT on optimization for a particular CPU architecture. The instruction mix should match the CPU model's execution units in addition to not having any dependency stalls.
Cortex-A73 (ARMv8-A) 64.4
Pentium M 69.0
Bulldozer (AMD FX) 76.2
K10 (Phenom II) 76.7
Goldmont Plus (Atom 2nd gen) 77.5
Core 80.0
Bobcat 81.3
Nehalem 90.0
Jaguar (PS4) 93.5
Sandy Bridge 100.0
Tremont (Atom 3rd gen) 100.7
Ivy Bridge 105.8
Cortex-A76 (ARMv8.2-A) 114.7
Zen 115.9
Haswell 117.6
Zen+ 119.3
Broadwell 121.5
Skylake 124.0
Zen 2 139.8
A10 (ARMv8.1-A) 139.8
Cortex-A77 (ARMv8.2-A) 141.0
Sunny Cove Ice Lake 146.3
Cypress Cove Rocket Lake 147.6
Zen 3 167.4
A11 (ARMv8.2-A) 186.0
A12 (ARMv8.3-A) 213.8
A13 (ARMv8.4-A) 235.0
A14/M1 (ARMv8.5-A) 236.7Of course the technically correct answer I'm not looking for is "because Apple optimized it better" :D, I'm looking more at the (obviously probably extrpolated/guessed) path they took to get there. For example perhaps the increased memory bandwidth contributed (ie $pc go brrrrt :P) but like... this is like the elephant in the room that Apple is basically The Best™ ARM shop in town right now, and I guess I'm trying to reason both about the engineering (how Apple got to where they are now) and the market reaction (how Apple and everyone else are going to go forward).
[1]: https://www.anandtech.com/show/16226/apple-silicon-m1-a14-de...
[2]: https://www.anandtech.com/show/16192/the-iphone-12-review/2
At a higher level it is just hard to do designs at this complexity so the dominating factor is budget divided by how many different products the team needs to make. Intel is the outlier, they managed to sabotage their own dominant position, but across the rest of the CPU world this holds true.
So my real question is: will I see a noticeable improvement when playing games? Especially World of Warcraft, which is a super old codebase that relies heavily on cpu.
I have a 3090 as my GPU which is overkill for WoW so I’m mostly wondering about whether the single-threaded performance of the new chip at 5GHz will be much more than my current chip, given that it’s running at 5GHz vs. the default 3.7GHz.
Basically, what is your bottleneck? If you don’t have any visible such, what’s left to improve? I was under the impression WoW was so old that any gaming rig from the last decade would have no problem to run it.
Good hardware in gaming has somewhat become a waste of money because often the bottleneck is just bad unoptimised code, and if you had worse hardware you'd be happier compromising; meanwhile good game engines (like id Tech) fly on any modern hardware.
How many Joules have we lost to Microsoft C++ vs. LLVM for example
I worked as a programmer for a AAA game. My feeling is that there needs to be someone in the team with enough influence who cares about optimisation enough to invest a lot of time on it.
After working on the game for a while I had enough political budget to spend time fixing ocasional frame stalls that annoyed me, which felt nice. I also worked a bit on general optimisation, but mostly on stalls. There were definitely lots of people who cared about performance, but this probably varies from studio to studio. If I hadn't done this, I'm sure someone else would have fixed some of them, but not necessarily all of them.
Let's also remember that lots of teams are under tight pressure and deadlines to deliver features and they may not have time to work on performance even if they want to - and if you're using an external engine, this gets even harder to work on.
Anyway, just my 2 cents, maybe other people who were in similar contexts will chime in with their own experiences.
In previous console generations things were harder back then as each platform's code was more different than now.
I won't name it but there's a simulator game I play thats very detailed but technically just screams like at some point they either didn't know or didn't have time to care about architecture then just winged it so now you have huge amounts of logic dumped into a basically single-threaded program.
I trust game engine developers a lot, I trust game developers in general not all that much - making games has a very tight feedback loop so a lot of them don't sit back and do it right rather than passing "tests" (not that games have tests most of the time).
Your example sounds like it could be caused by a program outgrowing its initial design and might almost need a complete rewrite in order to improve, which is an unfortunate thing that happens naturally sometimes.
On the other hand, games are not hard-realtime - if the framerate sometimes drops below the target or there's the occasional stall, not all teams will care enough or be able to fix that.
In my post above I was talking from the perspective of going the extra mile and trying to make performance really good, which not all games do.
I recently started working with a large organization and it's made me empathize with how these behemoth pieces of work can miss seemingly obvious issues. People probably noticed, but no one did anything about it since it wasn't in their work stream anymore.
Which is not really all that unlikely of a scenario. Just look at the absurd gains that the 5800X3D achieves in some engines over the 5800X, despite the X3D running at lower clock speeds. GTA 5 is a good example here ( https://youtu.be/hBFNoKUHjcg?t=885 ) - the 5800X3D achieves the highest fps on that at 171, a staggering 40 fps higher than the 5800X (by comparison the 12900K is 154fps). Something about that engine just slams into a memory bandwidth/latency wall, at which point it just stops scaling.
There was a time when Intel and IBM (PPC) compilers where unbeatable, but I don’t know if that’s the case anymore with the amount of investment done on LLVM in the past decade or so.
> and if you had worse hardware you'd be happier compromising
hah, when the game in my original post was new I was running it on garbage tier hardware. I got spoiled when I had a top of the line GPU. Nowadays I have to run it like I still have decade old hardware to get decent perf.
Its hilariously badly optimised but so inutterably brilliant that there is nothing* else that compares, it's a genre of 1* - kind of ironic that the game I really look forwards to playing after I upgrade backend of this year next will be a decade old.
We need all the performance we can get, because even if it was the worlds most optimized engine, we'd just create bigger scenarios. Who wouldn't find a 10,000 unit mission fun, even if it was only at 40fps? :)
Inutterably brilliant and a genre of 1, I couldn't agree more.
These days, generally, you'll be getting playable frame rates no matter what in modern games. Powering up your rig or your config can help to eliminate stutters, push higher levels of detail, etc. But it's generally not needed just to play the dang game in some kind of baseline reasonable way.
A faster CPU would help me write code faster, especially when I'm working on a big hairy Rails monolith or whatever. But when you're working on something that slow, a 10% or even a 50% CPU usually doesn't help that much. You need to address the root causes in the software itself - fixing the test suite or whatever.
My first overclocking foray was a 333mHz Celeron up to 416 (if I remember correctly) and that was a performance improvement proportional to the base clock. But heat was then an issue and the cpu card (as it was) with the integrated cooler was getting too hot for comfort.
My last system I built was for an 4970k but the system doesn’t get used in anger anymore and so it sits at stock clocks under 600$ of custom water cooling gear, with me afraid to push it in case the 8 year old hardware blows a capacitor or mosfet.
I’m glad you went and did the phase change cooling. My dream next step was to put a peltier under the water cooling setup and get sub ambient temps but the power bill and possible condensation issue kept my plans as just being plans.
This is where you need to use FPGAs, but getting a 1:1 soft-core clean room reverse engineered clone of a PS3 Sony Cell processor would be a monumental effort we're unlikely to see anytime soon.
It would probably be easier to reverse engineer the games themselves and use hooks to replace the API calls that use the custom IP blocks with standard Vulkan API calls that achieve the same functionality for example.
Back then it felt like the only option, getting maximum frames was a function of my ability to build a highly effective cooling setup and how much patience I had to tweak everything.
My very last foray into custom cooling was a homebrew phase change cooler using a cell I had bought off eBay. This is making me want to jump back in just for the fun of the build. But without the need for performance, it does lack a bit of thst purpose it had back then.