March, 2013

Intel i5 or i7 (or i3)

Computer hardware choices are all made at some point in time. What I write today will almost certainly be irrelevant in a short time, perhaps later this year, at least in specific details. I have recently purchased some new computer hardware, and my comments will be focused on the specific parts I have experience with. The first thing you will probably notice is no mention of AMD processors. I have been a long time fan of AMD (perhaps eager to champion the underdog), but in March of 2012 I was doing my homework prior to a system upgrade and decided that AMD was effectively out of the game. My prime specification for the new system I was building was that it had to run Photoshop effectively, and at that time Photoshop CS5 was making little if any use of multiple cores (more on this general topic later). AMD had apparently run into some kind of limitation pushing CPU speed, and was instead putting its energy into producing chips with larger and larger numbers of cores. Since I wanted a chip that would run a single core at the highest possible speed, Intel was my choice. Note also that the Intel chips have what they call "turbo boost", which allows them to run a single core at a higher clock rate when other cores are idle (running a single core at 3.9 Ghz, on a chip that would run all cores at 3.5 Ghz).

You also should notice in the above list that all but one of the chips I list are 3000 series parts. 2000 series parts are "Sandy Bridge" chips, and 3000 series parts are "Ivy Bridge". You should by no means jump to the conclusion that the 3000 series parts are always superior to the 2000 series parts. In fact, if you intend to do any overclocking, you may be much happier with a Sandy Bridge chip. Intel made some physical changes inside the Ivy Bridge chips, using a thermal compound instead of the fluxless solder used in the prior Sandy Bridge chips. This works fine when the chips are used at their specified clock rates, but puts a thermal limit on how far these chips can be been pushed in overclocking. In many ways this makes buying an Ivy Bridge chip with an unlocked multiplier (a trailing "K" in the model number) a questionable choice. Notice in the above list that you will also pay some extra money for the overclocking option. There is no point in that if you will not and/or cannot use it.

Prices shown above are from the NewEgg website in late March of 2013. Notice that as you move from i3 to i5 to i7 the price jump is about $100 each step of the way. The point of the rest of this article is to examine whether it is worth it.

It is all about the cores

A quick look at the table above makes it quite clear that all these chips run at essentially the same clock rate. No doubt an i7 runs somewhat faster than an i5 at the same clock, and the same could be said for the i5 versus i3. But this difference is unlikely to be noticed, and the difference in perceived speed for a processor running at 3.5 Ghz versus one running at 3.3 Ghz is something you are never going to notice.

In general, what you are buying when you move up from an i3 to an i5 to an i7 is more cores. This is a gross oversimplification (for example the i5-2500K has 4 cores, just like an i7). Also with an i7 you are getting a bigger cache, which is nothing to sneeze at, and a better GPU (if you use it), and a somewhat more optimized architecture. The central question then is, what use are you going to make of multiple cores? For most people the question is, "what use does the application software you run most of the time make of multiple cores?".

Right now I am running linux on an i7-3770K system. I have a CPU activity monitor (gkrellm) that shows me at a glance the processor activity in each of the 8 CPU's. Watching these CPU activity monitors is giving me a real education. The significant fact is that they all show 0%, except for one that bumps up to 1% now and then as I type. I find myself asking myself, what things I am going to run that will make use of multipe cores? A related question is to ask just how much I do on my computer that is CPU intensive in any way. This is a good question for anyone to ask. What do you do with your computer and what benefit can you expect from multiple cores. For what I am doing right now (and most of the time), I would be quite happy with an i3-3220 and would never know the difference.

Servers are a different story. A server is much more likely to be doing multiple things at the same time and to have a mix of work that can easily be shared by multiple cores.

i5 versus i7

This is the question this discussion set out to answer, and the differences are not as great as one might think. The big difference is that the i7 supports hyperthreading on 4 cores, and the i5 does not, and this may not be all that much of a difference.

A side note before launching into a discussion of hyperthreading. There are lots of chips in both the i5 and i7 lineups. Some of the i5 chips, targetted at mobile application (i.e. laptops), where power consumption is a key factor, have two cores but do support hyperthreading.

Hyperthreading aside, the differences between the i5 and i7 are:

All told, not enough to knock you over.

Hyperthreading

Hyperthreading is a way for a processor to support the illusion of two CPU's running on a single core. This is by no means as effective as two cores. See this excellent article written by a guy at IBM (albeit in 2003). His testing indicates that a hyperthread is as effective as 0.3 to 0.5 of an independent core. Other studies have shown that the effectiveness is highly application dependent, and can even be negative in pathological cases. A true core has its own dedicated cache and runs with little if any interference with other cores. What hyperthreading does is to take advantage of the fact that under the hood in an Intel processor core are multiple execution units. When a core runs a normal series of instructions, some of these execution units are idle. What a hyperthread does is to set up a two x86 processors that can share execution units on a single core. Some fraction of the time the needs of both processors can be met without interference. Sometimes though, the processors have to share and one must wait for the other. Just what the effectiveness of this is, I have yet to determine (stay tuned).

Conclusion - buy an i3 or an i5

For most people, my advice would be to buy the i3-3220 and put the $200 saved into something else. A solid state drive might be a good choice for something that will yield a readily perceived boost in speed. If you think that overclocking might be something you would like to play with, the i5-2500K would be an excellent choice.

Don't fall for the thinking that a 3000 series chip is a thousand times better than a 2000 series chip, or that an i7 is better than an i5. And beware of the emotional trap of thinking that you must have the gadget with the fancy model number. It is your hard earned money, spend it wisely.

More in the following article about how useful (or useless) multiple cores are:


Have any comments? Questions? Drop me a line!