It would seem that a serious issue for Python is the implementation of threads which use a global interpreter lock. This means that no matter how cleaver the threading design in a program is, it is not going to derive much benefit from SMP or multicore machines.
There seems little doubt that CPU design is heading for multicore on all but the bottom of the range machines (and perhaps even on them too). Sun now has 4 core SPARCs and no doubt it won't be long before AMD and Intel release quad core CPUs.
C, C++ and Java have no such issue. At this stage choosing Python for high performance multithreaded applications on muticore machines would seem to be a poor decision. Of course if the app can run in multiple processes (rather than threads) this is not an issue.
And maybe the threading implementation in Python will be improved.
There seems little doubt that CPU design is heading for multicore on all but the bottom of the range machines (and perhaps even on them too). Sun now has 4 core SPARCs and no doubt it won't be long before AMD and Intel release quad core CPUs.
C, C++ and Java have no such issue. At this stage choosing Python for high performance multithreaded applications on muticore machines would seem to be a poor decision. Of course if the app can run in multiple processes (rather than threads) this is not an issue.
And maybe the threading implementation in Python will be improved.
I'm not going to repeat what has been posted on this before, but several leading business publications have pointed out that Java, a 1990's phenomenon, is in fact being considered on a downhill slope. C#? M$ just released a Pyhton version.