1

I'm currently running on a core i5-4460 CPU @ 3.20GHz on a 1150 LGA socket (Haswell). I need to upgrade to an i7 but I'm unsure on what one to go for, it needs to be faster for compiling code (using the machine for software development) - I'm aware a lot is handled by the SSD, thus I'll be installing 2 in raid 0, but the user has specifically requested an i7. Budget of between £200 and £350. Also, suggestions of trusted supplier would be appreciated (I'm in the UK).

  • 2
    Commentary: users usually see diminishing returns from putting SSDs in RAID. It would be better to put enough RAM in the system that a RAMDisk could be created which would hold all the source code, then a backup could be written to SSD or HDD. – Adam Wykes Jul 22 '16 at 15:45
  • Second this. Also, the duplicate probability of failure of a RAID 0 seems a tad risky for source code, IMO. – Juan Carlos Coto Jul 22 '16 at 21:32
4

Given that compiling is a thread-heavy job, your user is best off with the i7 that most cheaply gets them the most threads. Given that all i7 CPUs on the 1150 socket feature 8 threads, that means simply getting them the cheapest i7 you can put in that socket, which would likely be the Intel Core i7-4770S or Intel Core i7-4790.

As an aside, Xeon processors are extremely similar to i7 CPUs and fit on this socket. In addition, they support ECC RAM, which is a feature many compiling rigs benefit from due to the high memory usage and long compile times they can undergo. In addition, some Xeons, like the Intel Xeon E3-1275 V3, currently offer higher performance and lower cost than some of those i7s previously mentioned, and would thus be a better fit. Keep in mind to utilize the ECC feature of Xeon processors, the motherboard and RAM must also support ECC.

Amazon.co.uk had the lowest prices I could find on these processors.

| improve this answer | |
  • Just a comment: please keep in mind that Intel's Hyper-threading is not a true core reuse. if the same command is run on both threads of the same core than one thread has to wait on the other one to finish before it can run. Thus diminishing true thread count. Hyper threading is useful when multiple different commands are running at the same time. Still your answer is very much valid. – user588 Jul 22 '16 at 16:26
  • @AndriyLysak right, that's academic to the OP's question, but now you have me interested. My understanding of HT was that basically Intel intelligently filled open spots in processor pipelines with instructions from other software threads, to the effect that two threads could effectively be simultaneously operated on in a single core. If that's how it works then I see no reason a copied command cannot be run on both threads the core is working on. AFAIK the reason HT is no substitute for real cores is due more to the negative effect it has on single-thread performance. – Adam Wykes Jul 22 '16 at 16:30
  • You are correct, this is just my experience: we do heavy parallel processing and running with HT or without has 0 effect on speed. With HT we are able to run more data at the same time but it literally runs at half speed. That is why i'm skeptical of HT. And you are correct that HT is no substitute for real cores is due more to the negative effect it has on single-thread performance, So HT is useful in some cases but it should not be the basis on which you choose your hardware – user588 Jul 22 '16 at 17:52
  • Well I agree with everything you said except the last part. Every program is different; for some stuff HT is literally like tacking four more cores on; for example with compiling software using GCC (in my own personal experience). Therefore if possible you should get HT on your Intel machines, as it does lend quite a performance increase in many situations, and in the situations where it doesn't it can be disabled. – Adam Wykes Jul 22 '16 at 18:02
  • 1
    @user588, compiling is the sort of task where hyperthreading really works well: if one thread is stalled on memory access, the other thread assigned to that physical core can still run, and compiling tends to generate a lot of "stalled on memory access" situations -- in my testing on a six-hyperthreaded-core system, I see performance gains up to 16 simultaneous threads. – Mark Sep 14 '16 at 22:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.