• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Multithreaded applications

To fully utilize the abilities of a dual core processor or a processor with hyerthreading support we need multithreaded applications.

Here we try to develop a list of some good multithreaded applications available today.

To start with, I recently found Core Media Player 4.11, a multithreaded media player which is much faster than wmplayer and also supports more file formats. It is available in a free and in a premium paid version.
 
To fully utilize the abilities of a dual core processor or a processor with hyerthreading support we need multithreaded applications.

No we don't. All we need is to run more than one process at a time.

To start with, I recently found Core Media Player 4.11, a multithreaded media player which is much faster than wmplayer and also supports more file formats. It is available in a free and in a premium paid version.

A faster media player? You like your music playing faster than it should?
 
give me a video encoder that fully utilizes my dual core processor and I'll be happy, apps like media players and calculators are ok with a single thread.
 
Originally posted by: Nothinman
To fully utilize the abilities of a dual core processor or a processor with hyerthreading support we need multithreaded applications.

No we don't. All we need is to run more than one process at a time.

He said fully utilize the abilities of a dual core processor. Hasn't it been proven that single thread apps benefit so little as to be insignificant? I don't own a dual core, hence the question.
 
He said fully utilize the abilities of a dual core processor. Hasn't it been proven that single thread apps benefit so little as to be insignificant? I don't own a dual core, hence the question.

I know what he said. But my point is that very few apps are CPU bound enough to care, running multiple applications at once gives just as much, or more depending on your perspective, benefit since you can now do 2 things at once at full speed. The complexity added by multithreading an app is rarely worth the benefit.
 
Originally posted by: xenolith
Originally posted by: Nothinman
To fully utilize the abilities of a dual core processor or a processor with hyerthreading support we need multithreaded applications.

No we don't. All we need is to run more than one process at a time.

He said fully utilize the abilities of a dual core processor. Hasn't it been proven that single thread apps benefit so little as to be insignificant? I don't own a dual core, hence the question.

No, if you run 2 single threaded applications that will stress one core each, you will fully utilize a dual core CPU.

 
Originally posted by: Nothinman
He said fully utilize the abilities of a dual core processor. Hasn't it been proven that single thread apps benefit so little as to be insignificant? I don't own a dual core, hence the question.

I know what he said. But my point is that very few apps are CPU bound enough to care, running multiple applications at once gives just as much, or more depending on your perspective, benefit since you can now do 2 things at once at full speed. The complexity added by multithreading an app is rarely worth the benefit.

Thanks for clarifying. I just thought the OP was just referring to multi-threaded apps, my bad.
 
Thanks for clarifying. I just thought the OP was just referring to multi-threaded apps, my bad.

He was, but in most cases multithreading an app is a ton of work for no real gain. Most of the time the entire flow the program will have to be completely redesigned and since most apps aren't terribly CPU bound anyway it's just not worth the time and effort.
 
So we won't see any benefit to multi-thread apps being developed like the Unreal3 Engine?

I said most cases, games are a corner case and one of the few types of applications that can almost always benefit from more CPU power.

But it really depends on what each thread is doing. They tried duct taping SMP support onto Q3 and it ended up hurting performance in a lot of cases. I believe UT2 put the audio decoding in a seperate thread which made a decent difference since ogg decoding uses a decent amount of CPU. They can probably get away with splitting other things like computer AI into another thread too which will probably help, but I really doubt they'll be able to split the rendering into multiple threads.

Like any other feature/design decision you have to way the pros and cons and decide if it's really worth it to spend the extra time to split the application up into multiple threads. If your app spends most of it's time waiting on I/O or user input there's no reason to waste your time on it, but if it spends hours crunching numbers in memory then it probably would make a difference.
 
Parallelizing packages of CPU-intensive work so that they can be distributed to multiple threads is indeed a crapload of work, and has to be done from design forward, as Nothinman says.

It's also important to note that in games there is a fair amount of asynchronous event-driven activity going on, i.e. servicing sound interrupts, user input, etc. If the game is rendering on one thread, and servicing sound hardware interrupts on another, then overall play should be smoother. So I believe you can get some incremental benefits just by packaging up monolithic components of the problem.
 
Back
Top