|
I don't know how this is with other platforms, but on Windows the most common reason for parallelism is not performance, but keeping the UI active (not sure if this counts as "strict" parallelism).
Also, when writing libraries to be consumed by others, you often have to design for parallelism, whether it gets used or not.
And yes, it's a pain.
|
|
|
|
|
I think this poll is specifically about performance. Of coarse, there are various other reasons why you might need multi-threading
|
|
|
|
|
I write image analysis software and parallel processing is an absolute must. BUT you better be careful - coding by the seat of your pants is asking for trouble. You have to spend some time designing how it's going to work, otherwise it probably won't, or (worse) it will work sometimes, or (even worse) it will work slightly differently each time. Yes, I have been reduced to swearing at my own software. Some careful planning and it shouldn't be too painful, just tedious. But you get to watch every core running flat out which is pretty funny. Hah! Who's making who work now?
|
|
|
|
|
ed welch wrote: I don't know if people realise this, but only certain tasks are suitable for parellelism
Perhaps, perhaps.... Obviously you are correct, and at the same time some programmers can write things that always prove you are correct, no matter what they write. I have one programmer here who places all variables, including STL iterators in the class private variables, and accessing through an Instance pointer he always has access to the root thread from multiple threads and thus always has to mutex because he is always sharing data, no routine is re-entrant, no routine can thread without synchronization.
Some things can be rephrased, some algorithms can be restructured so that multiple operations can occur, large loops that operate on a large structure (thus sharing data), but operate on different areas of memory for every increment of the counter can be done in parallel because no two areas operate on the same area of memory. But other methods such as interleaving allow even sharing areas to operate simultaneously. Thus, even in shared data systems, when you learn the techniques, you can thread without synchronization blocking.
_________________________
John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
Shhhhh.... I am not really here. I am a figment of your imagination.... I am still in my cave so this must be an illusion....
|
|
|
|
|
While writing code i never thought how much cpu i used.
May be the Threading concept in .NET helps me to parallelsing my coding.
BackgroundWorker process also helps me to do the same.
what is your way to do that...
Rating always..... WELCOME
Be a good listener...Because Opprtunity knoughts softly...N-Joy
|
|
|
|