4/3/2026 at 7:31:13 PM
No, determinstic scheduling is not a property of async python.Yes, the stdlib asyncio event loop does have deterministic scheduling, but that's an implementation detail and I would not rely on it for anything critical. Other event loops - for instance trio [1] - explicitly randomize startup order so that you won't accidentally write code that relies on it.
by 12_throw_away
4/3/2026 at 8:14:20 PM
> but that's an implementation detailThat sounds familiar...
https://stackoverflow.com/questions/39980323/are-dictionarie...
by StableAlkyne
4/3/2026 at 8:03:20 PM
It's been a stable (and documented) behavior of the Python standard library for almost a decade now. It's possible it may change--nothing is ever set in stone--but that would be a large change in Python that would come with plenty of warning and time for adjustment.by KraftyOne
4/3/2026 at 8:31:09 PM
And then one day, Astral creates a new Python implementation in Rust or something that is way faster and all the rage, but does this particular thing different than CPython. Whoops, you can’t use that runtime, because you now have cursed parts in your codebase that produce nondeterministic behaviour you can’t really find a reason for.by 9dev
4/3/2026 at 9:50:21 PM
and then all the serverless platforms will start using Astral's new rust-based runtime to reduce cold starts, and in theory it's identical, except half of packages now don't work and it's very hard to anticipate which ones will and will not and behold! You have achieved Denoby stuartjohnson12
4/3/2026 at 9:04:06 PM
That's a bit what it felt like when I was learning Rust async.I get it, but "ecosystems" of async runtimes have a pretty big cost.
by ubercore
4/4/2026 at 2:46:48 AM
If I know anything about the Python community - that new runtime would simply never gain significant traction, due to the incompatibility.by wavemode
4/4/2026 at 12:58:59 AM
If the python core team cared about not breaking things I wouldn't need to run my tests on all versions of python.by LtWorf
4/3/2026 at 9:05:59 PM
Well, in my early days programming python I made a lot(!!) of code assuming non-concurrent execution, but some of that code will break in the future with GIL removal. Hopefully the Python devs keep these important changes as opt-ins.by farsa
4/3/2026 at 10:24:57 PM
How do you differentiate between something that "happens to work due to an implementation detail" and a "proper feature that's specified to work" in a language without a specification?by mort96
4/3/2026 at 11:34:38 PM
In a language without a spec? You don't. But python has a very strong spec.by nhumrich
4/4/2026 at 10:32:45 AM
Where?by mort96
4/5/2026 at 6:57:28 PM
peps.python.orgby nhumrich
4/3/2026 at 11:00:13 PM
There's still documentation.by BrenBarn
4/4/2026 at 2:31:38 AM
I just realized how little I know about how async event loops.by game_the0ry
4/4/2026 at 4:50:20 PM
The good old Workflow XKCD matches this perfectly: https://xkcd.com/1172/by OptionOfT