It's a Dropbox-sponsored project which uses LLVM compiler infrastructure to speed up Python with JIT compilation. Pyston is in its early stages and supports a limited subset of Python's features. It boosts performance of some key benchmarks of the language to a certain level. Pyston will soon be ready for remote production too.
It removes Python runtime completely and finds out ways to transpile Python code to languages which can run natively at high speed. It converts Python to C++ code. As it still depends on the existing Python runtimes, its portability is limited but conversion assures speed optimisation. Nuitka is aimed to interface Python directly with C code which will boost its speed.
C extensions for Python or Cython is Python's superset and a version which compiles with C and interfaces with C/C++ code. It writes C extensions for Python. The only drawback is that it's not actually writing Python, else porting code which cannot be automatic completely. Cython has great advantages in relation to speed optimisations. Numerous scientific packages for Python, like scikit-learn are drawn on Cython features so that the functions are fast enough.
Numba is a combination of Nuitka and Cython. From Cython it takes the concept of how to speed up parts of the language like CPU-bound math which is done by LLVM. Numba's compiled functions can be specified with a decorator and Numba works in association with NumPy so that the functions are found faster. But Numba doesn't perform JITing.
According to Python creator Guido van Rossum, Python's performance issues can be traced to improper use of the language. NumPy can help in making CPU-heavy processing better via multiprocessing extensions. It can also make calls to the external C code by avoiding the Global Interpreter Lock (GIL). There is no viable replacement for GIL in Python though.
Courtesy: Java World