Dual Core outlook

Xavier Morel xavier.morel at masklinn.net
Tue Feb 7 15:19:23 EST 2006


malv wrote:
> Maybe this is too simplistic, but given two programs, one in Python the
> other in Java or C#. Would this mean that running the latter on a dual
> core processor would significantly increase execution speed, whereas
> the Python program would be running in one processor only without any
> speed up?
> 
This is extremely dependent on the way the program is built.

To get significant increases in execution speed, you need multiple 
*computational* threads, that means that you need 2+ threads that do the 
heavy work (number crunching, compression, ...), if you have one thread 
with heavy computations and the others handling low-computation parts of 
the program (UI) you may get a more _responsive_ program, but it won't 
be _faster_ (at least not noticeably), because the bottleneck of the 
application (the heavy computations) will still run on a single 
core/processor.

Multicore/multiprocessor is not magic, and it's not trivial at all, it's 
hard to create correct multithreaded programs, and even harder to 
parallelize the heavy computation part between various threads.

> Is a Java program capable of this "out of the box" or does this require
> specific additional code?
> 
Java and C# both use unlocked OS threads any time you use their threads.



More information about the Python-list mailing list