Is the i7 worth the extra $200 CDN....or will we see less than 10% speed difference?
Anyone?
Who Phlung Dung
Obviously like all things PC related it depends as it might be more than what a small minority will need. Conversely if you need really good performance I'd wait for bench marks to verify that the i5 & i7 chips don't easily thermally throttle under use. To see if this will be a problem you need an ethical benchmarker.
In any event the $200 update is an incredible value considering Apples past pricing behaviours. What you will see speed wise will be incredibly hard to quantify and will require understanding your work loads and the software used. For highly parallel software the i7 has been shown to have significant advantages over the i5. It also should be advantagous for users running a lot of apps at the same time (if those apps are actually doing anything in background). In anyevent it doesn't take much effort these days to have enough processes and threads running at the sametime using 4 or more cores.
For example 64 Bit Safari runs Flash in a separate process effectively killing one CPU when it is active. At the same time Safari will most likely have a couple of threads running (I haven't counted them). So between Safari and the network stack you are likely tying up another processor or two. Add to this demand things like iTunes if you have music playing in the background and you further load the processors you have. Worst is if Safari is running with a Flash intensive process more or less in back ground and you are also working on something CPU intensive such as a program compile, a large database transaction or a big spreadsheet calc. In a nut shell the more hardware threads you have the better you can do multiple things at the same time.
You may be saying right now that you don't do multiple things at the same time. That may or may not be the case but it doesn't matter because there is another side to this discussion. That is Apples Snow Leopard (SL) and where Apple and that OS are taking us. SL is specifically designed to leverage the processor architectures that are the near future of computing. That is the multi core multi threaded processors like the i7 which I consider to be one of the first processors making a transistion to this world from Intel. The way SL works with Grand Central Dispatch (GCD) allows the OS to leverage all the cores/threads it knows about for the apps running on the Mac. This means far better usage of the hardware without programmer intervention. Better yet is when a programmer specifically codes for GCD. The programmer can now parallize code without knowing the details of the hardware the code is running on. Thus the same program that uses all four hardware threads on an i5 can leverage all eight threads available on an I7 based machine. That given sufficient data and no other activity on a processor. So what this is saying is that you will be at an advantage with i7 as more software is specifically written to support GCD. How much faster (I can here you asking) well nobody knows as the advantage will be variable based on available threads and how well the program can use those threads. Also realize that GCD will never speed up a whole application, it only helps with operations or blocks of code that can be paralized.
I'm going to try to offer up an exapmle here. It is completely contrived and not likely a real case but hopefully gets the point across. Let's say you have a program that can open up, process and display several files at once. The files can be anything, pics cad or whatever they just need to be processed before display. A programmer could define a block of code that does the processing. So here is what is likely to happen from the users point of view. Let's say 6 pics where opened. The first thing that happens is that the pics are loaded from disk still slow and serial. The programmer takes the list of files to be processed and hands them off to a loop to do that. In the old days those files might be processed one at a time, with GCD the files can be processed in parallel with only a modest effort on the programmers part. A machine with four cores/threads can now do four files at a time, the machine with four cores/eight threads can do all six. The important thing to understand in this contrived example is that only a portion of the program saw a speed up, that being the processing of the files for display, before and after you have serial code using at best one core.
That example might not be clear as I'm doing it right off the top of my head. The important point to understand is that the extra cores/threads will not speed up every bit of every program. What proportion of the program that does get a sped up is highly dependant on the ability of the programmer to find a parallel solution and the willingness to implement it. Most programs have at least some oppotunity here. So the best we can say is that an i7 has the potential to be faster than the i5 but that speed up is highly variable and can be anywhere between zero and twice as fast with the extremes seldom being touched. Sometimes the difference will be very noticable and other times not.
I'm sorry there isn't a better explanation or precise numbers. Hopefully the example will provide some insight. Just realize that programs consist of parallel and serial code, the more parallel the code and the greater it leverages GCD the more the extra threads in i7 pay off. A highly serial programs sees no advantage at all from all those threads.
In addition to the extra 200mhz you also have 8 threads which will become more useful as more apps begin to take advantage of Grand Central Dispatch.
And the example Dave gave you should help seal your vote for 'yes it is.'
Given the lack of 'upgradability' of the iMac, I'd say building in some 'future proofing' care of the i7 is a very prudent move.
It will extend the life of your iMac, no doubt.
Software has had it easy for a few years now, in my opinion, the hardware has been ramping and ramping. But now, time for software to again take centre stage. And when people finally start taking advantage of the exciting technologies in Snow Leopard that Dave mentioned then you're not going to regret going i7. Period.
I'm convinced we're going to see some exciting speed ups...for programs that have largely been sitting on their 'ass' regarding using dual, tri or quad core. Think about it. Alot of programs have 9 gighz of processing power sitting there...doing nothing. Wait until programmers FINALLY start tapping into using that power instead of moaning that parallel programming is too hard.
Yeah, sure it is. I don't remember Andrew Braybrook (Paradroid-great game) moaning that coding for the C64 in machine code was difficult. And he had a lot less to work with at the time.
Comments
In addition to the extra 200mhz you also have 8 threads which will become more useful as more apps begin to take advantage of Grand Central Dispatch.
Is the i7 worth the extra $200 CDN....or will we see less than 10% speed difference?
Anyone?
Who Phlung Dung
Obviously like all things PC related it depends as it might be more than what a small minority will need. Conversely if you need really good performance I'd wait for bench marks to verify that the i5 & i7 chips don't easily thermally throttle under use. To see if this will be a problem you need an ethical benchmarker.
In any event the $200 update is an incredible value considering Apples past pricing behaviours. What you will see speed wise will be incredibly hard to quantify and will require understanding your work loads and the software used. For highly parallel software the i7 has been shown to have significant advantages over the i5. It also should be advantagous for users running a lot of apps at the same time (if those apps are actually doing anything in background). In anyevent it doesn't take much effort these days to have enough processes and threads running at the sametime using 4 or more cores.
For example 64 Bit Safari runs Flash in a separate process effectively killing one CPU when it is active. At the same time Safari will most likely have a couple of threads running (I haven't counted them). So between Safari and the network stack you are likely tying up another processor or two. Add to this demand things like iTunes if you have music playing in the background and you further load the processors you have. Worst is if Safari is running with a Flash intensive process more or less in back ground and you are also working on something CPU intensive such as a program compile, a large database transaction or a big spreadsheet calc. In a nut shell the more hardware threads you have the better you can do multiple things at the same time.
You may be saying right now that you don't do multiple things at the same time. That may or may not be the case but it doesn't matter because there is another side to this discussion. That is Apples Snow Leopard (SL) and where Apple and that OS are taking us. SL is specifically designed to leverage the processor architectures that are the near future of computing. That is the multi core multi threaded processors like the i7 which I consider to be one of the first processors making a transistion to this world from Intel. The way SL works with Grand Central Dispatch (GCD) allows the OS to leverage all the cores/threads it knows about for the apps running on the Mac. This means far better usage of the hardware without programmer intervention. Better yet is when a programmer specifically codes for GCD. The programmer can now parallize code without knowing the details of the hardware the code is running on. Thus the same program that uses all four hardware threads on an i5 can leverage all eight threads available on an I7 based machine. That given sufficient data and no other activity on a processor. So what this is saying is that you will be at an advantage with i7 as more software is specifically written to support GCD. How much faster (I can here you asking) well nobody knows as the advantage will be variable based on available threads and how well the program can use those threads. Also realize that GCD will never speed up a whole application, it only helps with operations or blocks of code that can be paralized.
I'm going to try to offer up an exapmle here. It is completely contrived and not likely a real case but hopefully gets the point across. Let's say you have a program that can open up, process and display several files at once. The files can be anything, pics cad or whatever they just need to be processed before display. A programmer could define a block of code that does the processing. So here is what is likely to happen from the users point of view. Let's say 6 pics where opened. The first thing that happens is that the pics are loaded from disk still slow and serial. The programmer takes the list of files to be processed and hands them off to a loop to do that. In the old days those files might be processed one at a time, with GCD the files can be processed in parallel with only a modest effort on the programmers part. A machine with four cores/threads can now do four files at a time, the machine with four cores/eight threads can do all six. The important thing to understand in this contrived example is that only a portion of the program saw a speed up, that being the processing of the files for display, before and after you have serial code using at best one core.
That example might not be clear as I'm doing it right off the top of my head. The important point to understand is that the extra cores/threads will not speed up every bit of every program. What proportion of the program that does get a sped up is highly dependant on the ability of the programmer to find a parallel solution and the willingness to implement it. Most programs have at least some oppotunity here. So the best we can say is that an i7 has the potential to be faster than the i5 but that speed up is highly variable and can be anywhere between zero and twice as fast with the extremes seldom being touched. Sometimes the difference will be very noticable and other times not.
I'm sorry there isn't a better explanation or precise numbers. Hopefully the example will provide some insight. Just realize that programs consist of parallel and serial code, the more parallel the code and the greater it leverages GCD the more the extra threads in i7 pay off. A highly serial programs sees no advantage at all from all those threads.
Dave
Goodbye Mirror Drive Door G4....you have been a great machine for almost 10 yrs.
Hello i7 iMac!
Thanks Again Dave!
Thank you for taking the time to post this...my mind is now made up.
Goodbye Mirror Drive Door G4....you have been a great machine for almost 10 yrs.
Hello i7 iMac!
Thanks Again Dave!
Tell us how you like it.
Dave
Thank you for taking the time to post this...my mind is now made up.
Goodbye Mirror Drive Door G4....you have been a great machine for almost 10 yrs.
Hello i7 iMac!
Thanks Again Dave!
*sniff* I miss my old MDD G4. Nice machine. Nice Mac, I mean.
Yes it is.
In addition to the extra 200mhz you also have 8 threads which will become more useful as more apps begin to take advantage of Grand Central Dispatch.
And the example Dave gave you should help seal your vote for 'yes it is.'
Given the lack of 'upgradability' of the iMac, I'd say building in some 'future proofing' care of the i7 is a very prudent move.
It will extend the life of your iMac, no doubt.
Software has had it easy for a few years now, in my opinion, the hardware has been ramping and ramping. But now, time for software to again take centre stage. And when people finally start taking advantage of the exciting technologies in Snow Leopard that Dave mentioned then you're not going to regret going i7. Period.
I'm convinced we're going to see some exciting speed ups...for programs that have largely been sitting on their 'ass' regarding using dual, tri or quad core. Think about it. Alot of programs have 9 gighz of processing power sitting there...doing nothing. Wait until programmers FINALLY start tapping into using that power instead of moaning that parallel programming is too hard.
Yeah, sure it is. I don't remember Andrew Braybrook (Paradroid-great game) moaning that coding for the C64 in machine code was difficult. And he had a lot less to work with at the time.
Lemon Bon Bon.