Originally Posted by incog
Those are some very interesting points. Never thought about it that way.
I've had a lot of time to think about it
I've been infatuated with computer hardware, comparing and contrasting it, since I was like 12 years old. (I'll be turning 30 in April).
Nonetheless, correct me if i'm wrong, but I don't believe hyperthreading actually helps with running multiple poorly optimized programs at once. Rather, hyperthreading helps a lot when it comes to very well optimized tasks: encoding (video, sound, streaming). Assuming our friend wants to stream at high resolution/quality then sure, the i7 pays for itself. If he's going to turn off hyperthreading to get a higher overclock out of the i7 since hyperthreading expels extra heat, it's kind of silly to get an i7 over an i5.
Hyper-threading, is often misunderstood. In simplest terms, it can be summed up as follows: The ability execute an integer instruction, while simultaneously performing a floating point calculation.
It means that rather than have to choose between the 2 operations on each "cycle," (like a Pentium or i5 does), it can do both at the same time, within the same core. This improves IPC, and
compute efficiency when leveraged (improved saturation minimizes losses, note: the i7 under a fully saturated workload will only use about 15% more power than an i5, while producing 30% higher compute throughput)
When hyper-threading first came out, leveraging it was more difficult, and the implementation had many flaws. Software wasn't compiled for it, and the OSs scheduling was garbage. Over a decade
of refinements to the technology and software side changes (both in the OS's and in the way that software is compiled to take advantage) have lead to a very mature technology that can offer performance scaling in almost any mixed workload that has spawned enough threads (whether it's from different programs or not). Any mixed parallel workload (integer/FPU) can theoretically scale into hyper-threading these days. Hyper-threading, does indeed improve performance when a computer is multi-tasking. If this were not the case, they wouldn't bother with it at the server level, where the workload is often hundreds of separate services running. Only a handful of entry level Xeons (the cheapest in each class) have hyper-threading disabled.
If you want to see how good hyper-threading scales these days when the workload is parallel enough, look at the i3-4130 in gaming benchmarks (since almost all games leverage up to 3-4+ threads these days). Effectively an i7 that has been cut in half, it is able to keep up with the i5 better than it's "2-core" class might suggest. It is hyper-threading that closes the gap. In this particular comparison, the i3 is placed in workloads that are forced to scale into hyper-threading wherever they can because there is nowhere else to go. Often we see minimal scaling from the i5 to i7 in these same games because the i5 has already offered all the parallelism that the game engine can leverage. Appreciating the i7 in this case, demands that we add additional workload (like a second monitor with other apps running).
The only time hyper-threading increases thermal dissipation, is when it is being utilized. When it is
being utilized, it will always be able to return more performance scaling than any additional overclock that would be afforded with it disabled. As I already pointed out, hyper-threading, under full saturation, can improve throughput up to 30% at a respectable 15% increase in power consumption. The same increase in power consumption applied towards an overclock would buy approximately a 5% clock speed improvement. Increasing clock speeds by 30%, would require a 60% increase in power consumption. If the workload in question doesn't have a way to leverage hyper-threading, then having it on or off should have very little effect on thermals for max overclocks because it is going unused anyway. Turning it off would just be a way to "optimize" an overclock for a specific workload (getting that extra 5% overclock for the desired workload while preventing the chip from overheating under an unexpected parallel workload, or a workload that the user does not care to optimize anyway).
$100, even if it's less than %10 of the total system cost, still isn't nothing. $100 is the difference between an H81 and a good Z87. It's also pretty much a free PSU (with some money left over). I also think it's wrong to say that i7 performs 30% better than an i5.
I believe you may have inadvertently taken me out of context. I said "up-to 30%"
Interestingly enough, I was trying to be as conservative as I could with the 30% number to prevent this. There are some workloads where the scaling is even better due to a combination of hyper-threading AND the larger faster cache. Either way, I probably should have placed greater emphasis on the "up-to" part. (I'll try to remember to place such a point in bold in the future)
The ~$220-260 E3-1230V2/V3 series chips on a B85 board, can offer competitive performance with an i5-"K" on a Z board for less money if the workloads are parallel enough, especially for users who are questioning whether or not they want to overclock or not, or support multiple GPUs. (this thread may apply). The E3 can offer that "i7" class performance to people who don't need an iGPU. An E3+B85 may afford the opportunity to buy into more GPU, or an SSD.
The situations where that's true are pretty limited, especially for a gaming rig. Call me stingy, but knocking off 10% on the total system cost seems like a pretty damn nice deal to me. Even 5% is good. There are only a handful of tasks where the i7 beats the i5 hands down and if I'm not going to be doing those tasks on a regular basis, I'll just keep my money and accept slightly lower performance whenever I will do those tasks.
The neat thing about it, is that, if you go through a process of rationalizing the i5, and then actually buy the i5, then you will have achieved a harmony with your rationalization that has value in and of itself. If someone else can rationalize the i7, or the E3, or the FX chip, and purchases it, then they will have achieved the same fulfillment that you have in your purchase decision.
I'm also a cheap-A$$ (ask my wife). Which is why I have a $110 CPU, a $50 MOBO, and a $50 HSF (less combined cost than an i5). I was able to rationalize that this would be the best value for me, and I love it. The novelty of overclocking it to the same performance as an E3-1230V2 in parallel workloads (a $226 chip) has been extraordinarily fun and rewarding.
Well, at this point I'm just playing the devil's advocate really. Thank you for the big post, no matter what you think is best, there are some interesting ideas in there I hadn't thought of before.
I can appreciate this! Thank You!Edited by mdocod - 3/6/14 at 6:53am