I’m a PhD student and use Python to write the code I use for my research. My workflow often consists of making a small change to the code, running the program, seeing whether the results improved, and repeating the process. Because of this, I find myself spending more time waiting for my program to run than I do actually working on it (a common experience, I know). I’m currently using the most recent version of Python 2 on my system, so my question is whether switching to Python 3 is going to give me any speed boost or not. At this point, I don’t really have a compelling reason to move to Python 3, so if the execution speeds are similar, I’ll probably just stick with 2.x. I know I’m going to have to modify my code a bit to get it working in Python 3, so it’s not trivial to just test it on both versions to see which runs faster. I’d need to be reasonably confident I will get a speed improvement before I spend the time updating my code to Python 3.
Share
This article (archive.org) said that there were a few points where Python 3.0 was actually slower than Python 2.6, though I think many of these issues were resolved. That being said, Numpy hasn’t been brought over to Python 3.0 yet and that’s where a lot of the high performance (written in c) number functionality stuff is hiding.
Hopefully it will be ready late 2009 or early 2010.You should not consider performance to be a justification to switch to Python 3; I don’t think you’ll see a consistent speed improvement.Edit: Versions of Numpy which support Python 3 have since been released.
Edit2: This answer (and other answers to this question) are outdated.