Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

andrewfields88

macrumors newbie
Original poster
Apr 30, 2006
12
0
My understanding is that the Hyper Threading on the i7 creates 8 virtual cores, but what practical benefits will this give me as a video editor? How significant an advantage will I have with the i7 over the i5? I intend to get one of the quad cores with 8GB of RAM, Final Cut Studio and possibly Logic Pro 7.
 
My understanding is that the Hyper Threading on the i7 creates 8 virtual cores, but what practical benefits will this give me as a video editor? How significant an advantage will I have with the i7 over the i5? I intend to get one of the quad cores with 8GB of RAM, Final Cut Studio and possibly Logic Pro 7.

nothing if it cant use more than 4 cores
 
Most apps are just barely supporting dual core. I don't think it was in Apple's best interest to put quad cores in these machines because they won't be put to use for another 2+ years. By the time the newer updated iMacs come out, applications will start supporting more than 2 cores, but 8 cores is nowhere near anytime soon.

I would honestly stick with the i5 if you plan on having the iMac for more than 3 years. If you know you are going to upgrade to the newest iMac in two years time, I would just get the C2D.
 
hyper threading is something you have to believe in that it makes your computer faster as only programs who can take advantage of this technology will run faster others who cant will slow down dramatically
and there are not many who can
i had worked with windows systems using pentium 4 processors with hyper threading ,hmm to be honest most of the time it was better not to bother to enable it
its like if i make you believe you have 4 hands ... now i tell you to write on two keyboards with 10 fingers on each , but you still have only 2 hands in reality only your brain thinks you have four

just read about hyper threading
http://en.wikipedia.org/wiki/Hyper-threading
 
hyper threading is something you have to believe in that it makes your computer faster as only programs who can take advantage of this technology will run faster others who cant will slow down dramatically
and there are not many who can
i had worked with windows systems using pentium 4 processors with hyper threading ,hmm to be honest most of the time it was better not to bother to enable it
its like if i make you believe you have 4 hands ... now i tell you to write on two keyboards with 10 fingers on each , but you still have only 2 hands in reality only your brain thinks you have four

just read about hyper threading
http://en.wikipedia.org/wiki/Hyper-threading

The P4s were terrible with hyper-threading on. However the i7 version is supposed to be vastly superior.
 
My understanding is that the Hyper Threading on the i7 creates 8 virtual cores, but what practical benefits will this give me as a video editor? How significant an advantage will I have with the i7 over the i5? I intend to get one of the quad cores with 8GB of RAM, Final Cut Studio and possibly Logic Pro 7.

You'd have to ask Apple if those products would benefit from using more cores. Otherwise the i5 is probably fine unless you are also running a bunch of other cpu hungry apps at the same time.
 
As it's been discussed in other threads, Hyper threading makes the processor faster at executing inefficient, multi-core aware code.

If the code is written efficiently, hyper threading offers little advantage, because all 4 cores will be operating at 100%. However, if the code is executing inefficiently, you might have 4 cores operating at 60%, in which case, a Hyperthreading enabled processor starts sending computations to the cores not operating at 100%, to complete in their spare cycles.

This is an overly simplistic explanation, but you get the idea.

I don't know about the specific Applications you plan to work with, but I do know that where Hyperthreading shines the most is in video encoding, for what it's worth.

For the average consumer, I'd highly recommend sticking with the i5, unless money isn't an issue. In your case, I think it might warrant a little more research, or at least waiting for the benchmarks from barefeats.
 
OK I'll bite :)

Firstly, a Wikipedia search will probably explain this better than I can, but I'll give it a shot anyway. Hyperthreading is an attempt to make use of a processor core when the thread currently running on it is stalled because of a memory fetch.

A core has a whole bunch of functional units on it, adders, multipliers, instruction schedulers etc. that will be sitting there idle because of a cache miss or getting a branch prediction wrong. The theory goes that for a small extra investment in chip complexity you can put an extra register set on the core, providing the context for a second thread, and the logic to switch between these two threads at a very fine grain of scheduling; essentially giving control to one thread for a few instructions until it would stall and then automatically switching to the other in the hope that it can now run. It's analogous to the switching between threads on a single core that is done by the OS, but is handled by the hardware directly at a much lower level.

The downside of this is that if you keep a core working flat out then it will get hot, and to keep things under control the hardware will throttle back the clock, effectively cutting down the number of instructions executed per second. It does however look as though the i7 architecture has made the right tradeoffs for hyperthreading this time though; if you have enough threads running for hyperthreading to make a difference then an i7 will outperform an i5 doing the same job.

A couple of things to keep in mind. Grand Central Dispatch (GCD) is being pushed to developers as an easy way of taking advantage of processors with lots of cores, and also a good way of using the huge power of GPUs for some type of tasks. The hardware companies are not increasing clock rates at the rate they were and are instead increasing the number of cores; a hundred core processor was announced this week. To take advantage of newer processors, developers are going to have to learn how to split work loads into multiple threads so you're already seeing some types of applications making good use of these chips and I'm sure lots more will follow.

As for myself I'm putting my money where my opinion is. I do programming in a language called Erlang that can make full use of as many cores, either real or hyperthreaded, as it has available. I'll be stumping up for an i7 before the end of this year. I think the cost difference between the i5 and the i7 is worth it in terms of extending the useful lifetime of the machine as more and more consumer level applications take advantage of GCD and similar technologies.
 
Remember even if HT doesn't help much, the i7 iMac (2.8/3.46ghz) still has a faster clock speed than the i5 (2.66/3.2ghz). The 2nd number is the max clock with "turbo boost".
 
As it's been discussed in other threads, Hyper threading makes the processor faster at executing poorly written, multi-core aware code.

If the code is written efficiently, hyper threading offers little advantage, because all 4 cores will be operating at 100%. However, if the code is executing inefficiently, you might have 4 cores operating at 60%, in which case, a Hyperthreading enabled processor starts sending computations to the cores not operating at 100%, to complete in their spare cycles.

"Poorly written" is the wrong way to put it. At the assembly level the code is written by a compiler and everyone is using pretty much the same compilers.

The benefits from hyperthreading depend on a lot of esoteric details, like how frequent branch mispredictions or cache misses are. These are not necessarily things that a programmer can control, even if they are very good and spend a lot of time on it, which basically nobody does. A whole lot depends on the nature of what you're trying to do -- does it involve a lot of decision points and branching? Are you working with a data set too large to fit in the cache? Etc.
 
turn it off, waste of energy and heat.
OS and software has not catch up with having so many cores.

My understanding is that the Hyper Threading on the i7 creates 8 virtual cores, but what practical benefits will this give me as a video editor? How significant an advantage will I have with the i7 over the i5? I intend to get one of the quad cores with 8GB of RAM, Final Cut Studio and possibly Logic Pro 7.
 
"Poorly written" is the wrong way to put it. At the assembly level the code is written by a compiler and everyone is using pretty much the same compilers.

The benefits from hyperthreading depend on a lot of esoteric details, like how frequent branch mispredictions or cache misses are. These are not necessarily things that a programmer can control, even if they are very good and spend a lot of time on it, which basically nobody does. A whole lot depends on the nature of what you're trying to do -- does it involve a lot of decision points and branching? Are you working with a data set too large to fit in the cache? Etc.

sfroom said:
Hyper threading makes the processor faster at executing inefficient, multi-core aware code

Fixed. :) My intention wasn't to offend any coders out there! :) It was an explanation for laymen, written by a layman. I think it captures the general idea though.
 
People that think there is no software that can use 4 cores don't know what they're talking about. Nearly any program ever written for OSX will use all the cores it can.
 
Most apps are just barely supporting dual core. I don't think it was in Apple's best interest to put quad cores in these machines because they won't be put to use for another 2+ years. By the time the newer updated iMacs come out, applications will start supporting more than 2 cores, but 8 cores is nowhere near anytime soon.

I would honestly stick with the i5 if you plan on having the iMac for more than 3 years. If you know you are going to upgrade to the newest iMac in two years time, I would just get the C2D.

Wow, you are really clueless. People like you who are so misinformed yet go around blabbing as if they are some authority are really a menace on forums like these.

Apple has been using dual processor machines since before 2000. So yeah, since OS X 10.0 developers have been writing multithreaded code. Pretty much everything written for OS X is multithreaded. Pro Apps like Final Cut Studio certainly take advantage of 8 or more cores and Hyper-Threading, especially Compressor.

Even for consumers, handbreak is a great example of something that can use all 8 cores. God, even a radial blur in Photoshop CS4 can use all 8 cores.
 
Mate, if you're serious about video get a Mac Pro. Once you learn more and more about it you'll want to add monitoring via SDI/HDSDI which you'll need something like a Kona/BMD/Matrox card for which aren't compatible with iMacs. Also programs like Motion and Color utilise the GPU more than the processor so being able to insert better graphics is key. Raid is also highly important if you start dealing with uncompressed material, and if you're planning on gaining clients there will be a point where a client wants to work uncompressed.

For the money you'd spend on the i7 it would be far better for you video future going to the Pro. Certainly if you're looking to make back the money spent on it via freelancing.
 
Apple has been using dual processor machines since before 2000. So yeah, since OS X 10.0 developers have been writing multithreaded code. Pretty much everything written for OS X is multithreaded. Pro Apps like Final Cut Studio certainly take advantage of 8 or more cores and Hyper-Threading, especially Compressor.

That is correct. People, open Activity Monitor, right click on the columns and check "# Threads".

Even Microsoft Messenger has 8 threads, meaning it can use 8 CPU cores. Granted it will never use that much power, but if even the lowly MS Messenger has the ability to use it then nearly everything else will.
 

Attachments

  • Picture 1.jpg
    Picture 1.jpg
    267.2 KB · Views: 401
That is correct. People, open Activity Monitor, right click on the columns and check "# Threads".

Even Microsoft Messenger has 8 threads, meaning it can use 8 CPU cores. Granted it will never use that much power, but if even the lowly MS Messenger has the ability to use it then nearly everything else will.

Lol. You're confusing two different types of threads.

Those are just simple command threads the cpu allocates to each application/utility-- otherwise known as multithreading, or multitasking; every cpu can do that. If it's a single core cpu then it'll alternate between each thread at a very fast speed to multitask. Multi-cored processors can share the threads between themselves simultaneously. My firefox is currently using 15 threads but that doesn't mean it will benefit from 15 virtual cpu cores.
 
You're confusing two different types of threads.

Those are just simple command threads the cpu allocates to each application/utility-- otherwise known as multithreading, or multitasking
Lol. You just contradicted yourself and said exactly what I explained in the previous post.
 
I perhaps worded it wrong, I'll try to reiterate.
However you did not explain anything in your post, you just showed a picture of your activity monitor.

A processor assigns threads to certain applications and tasks. The higher amount of threads to a certain task, the more executions are being ran for that task.

All processors have the ability to multithread, otherwise they would be useless for multitasking. Single core processors multithread by rapidly switching between threads, thus affecting multitasking capabilities. Multicored processors can share those threads between their cores and execute them simultaneously, thus resulting in better multitasking performance. Whereas my G5 processor can only handle 1 thread at a time, a hyperthreaded lynnfield processor can handle 16 threads at a time-- but that only depends if the program is built to recognize multiple cores.

Even Microsoft Messenger has 8 threads, meaning it can use 8 CPU cores. Granted it will never use that much power, but if even the lowly MS Messenger has the ability to use it then nearly everything else will.
Now according to your activity monitor, your firefox is using 18 threads, but mine is only using 15 threads. Does that make your firefox better in that it can take advantage of 18 cpu cores but mine only 15? You're basically confusing a "thread," which is a very fundamental part of a cpu's mechanics, to the ability to use x number of cpu cores.

In theory any program that uses lots of threads can benefit from multiple cored cpus, but unless they're coded to do so, they will not be compatible with multiple cored cpus.
 
I perhaps worded it wrong, I'll try to reiterate.
However you did not explain anything in your post, you just showed a picture of your activity monitor.

A processor assigns threads to certain applications and tasks. The higher amount of threads to a certain task, the more executions are being ran for that task.

All processors have the ability to multithread, otherwise they would be useless for multitasking. Single core processors multithread by rapidly switching between threads, thus affecting multitasking capabilities. Multicored processors can share those threads between their cores and execute them simultaneously, thus resulting in better multitasking performance. Whereas my G5 processor can only handle 1 thread at a time, a hyperthreaded lynnfield processor can handle 16 threads at a time-- but that only depends if the program is built to recognize multiple cores.
Once again, you've said exactly what I explained. :rolleyes:

Does that make your firefox better in that it can take advantage of 18 cpu cores but mine only 15?
It means I've got more tabs open and/or more add-ons installed.

You're basically confusing a "thread," which is a very fundamental part of a cpu's mechanics, to the ability to use x number of cpu cores. In theory any program that uses lots of threads can benefit from multiple cored cpus, but unless they're coded to do so, they will not be compatible with multiple cored cpus.
You don't seem to grasp the basic fundamentals of whats being discussed here, you have repeatedly contradicted yourself in every post and repeat (reword) exactly what I had already explained the first time.
 
Basic fundamental discussion? Contradicting myself? Saying what you have explained? You have explained nothing in this thread.

The basic fundamental discussion is your believing that applications in mac osx are readily available to accept and benefit from multi-cored architecture by pulling up some numbers in activity monitor. Those numbers have nothing to do with the programs' abilities to accept multi-cores and parallel threading.

People that think there is no software that can use 4 cores don't know what they're talking about. Nearly any program ever written for OSX will use all the cores it can.
Even Microsoft Messenger has 8 threads, meaning it can use 8 CPU cores. Granted it will never use that much power, but if even the lowly MS Messenger has the ability to use it then nearly everything else will.
This is all you have explained in the topic.
Please pull the contradiction card again, I do insist.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.