So I did not look at the right location before posting this..
I was looking at the result of the computer language benchmark game: <http://shootout.alioth.debian.org/u32q/index.php> And it seems that most of the fastest solutions are still C/C++ using just a single core of the 4 core machine that runs the tests. I was wondering if multi-core is worth it at all for single tasks or if you really need some more speed just tune up your code, rewrite in C/C++ instead.
When you click on the full benchmark link like: http://shootout.alioth.debian.org/u32q/benchmark.php?test=knucleotide&lang=all it is obvious that quite a few solutions use multiple core.
It would still be interesting to hear of your personal experiences:
Have you had success using 4 or 8 cores in order to actually improve performance on a single task?
What tools/language did you use?
How big was the improvement?
Was it worth the effort?
No, that’s not true for all codes. In fact, of the codes I’ve looked at, all use multiple parallel threads, and thus multiple cores. In fact, some (e.g. k-nucleotide) use fancy architecture like OpenMP (or, also interesting, SSE parallelization) to help parallelization.
EDIT In fact, the fastest C++ solution for every problem uses parallel threads, with three exceptions:
… and most other solutions also use SSE2 support.