Today, the result of this is a PyPy-STM that is capable of running pure Python code on multiple threads in parallel, as we will show in the benchmarks that follow. A quick warning: this is only about pure Python code. We didn’t try so far to optimize the case where most of the time is spent in external libraries, or even manipulating “raw” memory like array.array or numpy arrays. To some extent there is no point because the approach of CPython works well for this case, i.e. releasing the GIL around the long-running operations in C. Of course it would be nice if such cases worked as well in PyPy-STM — which they do to some extent; but checking and optimizing that is future work.
Posted from Diigo. The rest of my favorite links are here.