This page presents a comparison of threading across different Python 3.x runtimes. The code used is here. It implements a small, embarallel problem: summing one billion integers with a varied number of threads.
Interestingly, micropython seems to thread quite well, while the more performance-oriented Pythons (pypy3, nuitka3) thread poorly. I think we expected CPython to thread poorly.
I've not checked Jython, as it still only does Python 2.x - but it should thread well too.
Note that micropython only appears to have the _thread module; threading and concurrent.futures were elusive here. For this reason, the microbenchmark uses the _thread module.
Here's the graph. It was generated on a system with 24 cores plus
hyperthreading. Lower time-in-seconds is better. Micropython is
You can e-mail the author with questions or comments: