I have held this same view for several years now. Python itself doesn’t have to be slow (Pypy isn’t too bad, JavaScript is similar and a lot faster), but CPython is unfortunately stuck. The C-API that so many important packages use can’t change, and that prevents adding a JIT. And while the GIL could be worked out, reference counting would still be present since it’s part of the API and atomic reference counting doesn’t scale — no threads for you!

That doesn’t mean it isn’t useful, but personally it has caused me enough grief (ie, rewriting working code in a faster language purely for performance reasons) that I’m reluctant to use Python in a new project.

Jason McCampbell
Jason McCampbell

Written by Jason McCampbell

Software architect with interests in AI/ML, high-performance computing, physics, and finance/economics.

No responses yet