Oh wow from <https://discuss.python.org/t/a-fast-f...
# random
b
Oh wow from https://discuss.python.org/t/a-fast-free-threading-python/27903?u=thejcannon Mark Shannon (of "Faster CPython") expects:
We ultimately expect a 5x speedup over 3.10
🤯
w
The 5x perf speedup talking point has been around for at least a year and a bit now, so I'm interested that it wasn't modified after the perf improvements of 3.11 As in "this is how far along we are in the 5x quest"
b
ahh
w
Interestingly the 5x plan included 3.10 at the time... But I don't think 3.10 had any particular perf improvements, at least compared to 3.11
I'll take these 25% perf improvements all day
I'm curious if there is a TLDR on the
no-gil
vs something like
multiprocessing
comparison (or a ProcessExecutor I guess)? I haven't come across that in my travels just yet. Not that
multiprocessing
is some magical panacea, but usually whenever I find some sort of bottleneck that can be solved with parallel processing, I reach for mp. Most of the stats I've been reading are directly related to single-thread perf comparisons
b
multiprocessing
means giving up shared objects and resorting to some way of marshalling objects across process boundaries
w
Immutability baby!
This is kinda what I assumed the problem must come down to. I'm fortunate enough to not have shared objects be core to a lot of my work, as I design those away from the start. But, there are places where that's just not really technically feasible.