Python used to have limited parallelism, due to its global interpreter lock (GIL). Only one thread could run Python code at a time. Python 3.14 comes in a free-threaded version (python3.14t), without the global interpreter lock. Several threads can now run Python code at the same time. Let us pick a realistic problem. GitHub publishes … Continue reading Parsing JSON at tens of gigabytes per second… in Python
I’m sympathetic to the general version of this complaint, but Lemire is one of the two authors of the original SIMDJSON paper in C++.
This is not the case of a random Python blogger being unaware that the packages he’s using weren’t themselves programmed in regular Python. He’s measuring how well the new free-threaded interpreter can work with a highly-parallel extension. Turns out, pretty well, and it’s a boon to the ecosystem.
But again, I am sympathetic, and ‘write the library in another language and then make a Python interface for it’ is my preferred way to interact with Python these days.
I’m reacting more to the title than the substance, I think. I agree that what the post is actually talking about is useful information: using a Python interface to SIMDJSON doesn’t kill the performance due to GIL. That’s a useful thing to test and write about.
But “Parsing JSON … in Python” very clearly establishes an expectation that you are talking about parsing JSON in Python, which is contrary to the post. It’s a bait-and-switch.
I’m sympathetic to the general version of this complaint, but Lemire is one of the two authors of the original SIMDJSON paper in C++.
This is not the case of a random Python blogger being unaware that the packages he’s using weren’t themselves programmed in regular Python. He’s measuring how well the new free-threaded interpreter can work with a highly-parallel extension. Turns out, pretty well, and it’s a boon to the ecosystem.
But again, I am sympathetic, and ‘write the library in another language and then make a Python interface for it’ is my preferred way to interact with Python these days.
score 1 · canonical
Many pieces of the standard library are also written in C. Still Python?
score 1 · canonical
I’m reacting more to the title than the substance, I think. I agree that what the post is actually talking about is useful information: using a Python interface to SIMDJSON doesn’t kill the performance due to GIL. That’s a useful thing to test and write about.
But “Parsing JSON … in Python” very clearly establishes an expectation that you are talking about parsing JSON in Python, which is contrary to the post. It’s a bait-and-switch.
score 1 · canonical