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 yellow.

Hits: 3505
Timestamp: 2024-02-29 09:36:43 PST

Back to Dan's tech tidbits

You can e-mail the author with questions or comments: