Having spent a nontrivial amount of my life researching and developing SMT - I would just reiterate that you should run benches to validate assumptions. Things are often quite counter-intuitive.
Cache with relation to the cores is very tricky. Cache population is quite good in modern processors. It turns out "more cache" rarely has much of an impact in most programs (emphasis on most - there are some things which are all over the place with memory locality), because the access patterns which blow up the 'smaller' cache still blows up the larger.
Constrast this with having another thread on the core - you avoid stalling the entire core based upon 1 cache miss or similar stall. This is why SMT ends up giving really solid improvements, even though you'd think the cores should be fully utilized by aggressive workloads. Stalls are very expensive.
So if the desire is to have more cache versus more threads, consider that the bargain really boils down to slightly increasing your cache hit rate at the cost of significantly increasing the cost of a cache miss.
If power/heat is a huge concern, I'm not going to have any good advice. Trying to optimize throughput while saying power is the primary constraint is not a world I've had to live in. Well, I guess my advice would still be "Get more cooling!"
my options are quite limited because laptop. going from 4c to 6c was a no brainer, 6c6t > 4c8t in multithreaded workload while generate less heat than 6c12t. laptop itself could handle 6c/12t just fine as it is designed for 8700k.
however going from 6 to 8 is different. 4c8t would benefit say 30% with HT on over 4c4t, but 4c to 6c is 50% more cores, so 2 more cores already > 4 more threads. even benching like CB15 are best case scenario due to how optimized that software is, while most other software aren't and instead are optimized towards user experience and features.
I had to get the best SL binned chip to achieve decent overclock. going to 8c heat will be an issue (i do plan to mod heatsink eventually). as much as I do agree testing to validate, most consumer software aren't as optimized as bench software, this would require me testing each software for my own personal usage scenario. cache is really a bonus here cause it comes with 8 core and 8c/16t chip usually comes with more cache than 8c/8t chips. (8700k vs 8600k).
turning off threads to reduce heat and has more cache also mean i might be able to boost frequency by 100mhz more (thats just a bonus as 4.8ghz vs 4.7, the increase dont matter much). unless of course what you're saying is, going from 1c1t to 1c2t would mean better performance for even single threaded workloads.. did i misunderstand?
Last edited: