Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
User Journal

Journal Haeleth's Journal: Python isn't fast enough. No, really, it isn't. 1

People constantly say "Python is fast enough! If it's too slow, just throw hardware at the problem! GUI applications spend all their time waiting for user input anyway! And you can rewrite performance-critical sections in C!"

So why is it that, running Fedora on my netbook, I can tell -- with 99% accuracy -- which programs are written in C/C++ and which are written in Python?

There's a simple test. If, when I launch the program, nothing happens for up to a minute, then it's probably written in Python. If, when I click on a button in the program, it becomes completely unresponsive for up to five minutes before anything happens, then it's definitely written in Python.

Today's culprit is the SELinux Administration program. Unbelievably, mind-blowingly slow and unresponsive. This is not a good user experience. I don't care how much programmer time was saved by writing it in Python, or how beautiful the code is, or even how well it performed on the developer's high-end desktop monster -- what I care about is how much of my time is being wasted by twiddling my thumbs while this under-performing, over-rated slug of a language chugs away doing simple things inefficiently.

It's 2010. The future of computing is small, low-powered devices, optimised for portability and endurance rather than raw execution speed. I can't throw hardware at this problem. If Fedora wants to be widespread, it simply can't afford to go on like this, getting slower and slower as more and more core functionality is replaced with fundamentally slow code. It's time to start thinking about execution efficiency again, and -- in the absence of a high-performance Python interpreter -- that means Python is simply not an appropriate language for implementing core OS functionality like system configuration tools. If rewriting bottlenecks in C is good enough, then someone needs to start doing that, because right now they clearly aren't.

This discussion has been archived. No new comments can be posted.

Python isn't fast enough. No, really, it isn't.

Comments Filter:
  • I don't care how much programmer time was saved by writing it in Python

    Then delete the program from your hard drive, and pretend that the reason it isn't installed is because they haven't finished writing it yet. Hurrah, the program is now just as fast and useful as it would be if it had been written in C, and it has fewer bugs too ;-)

The use of money is all the advantage there is to having money. -- B. Franklin

Working...