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. -- http://mail.python.org/mailman/listinfo/python-list