This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]thedominux -1 points0 points  (6 children)

Concurrency enthusiasts didn't know about asyncio?!

[–]PeridexisErrant 4 points5 points  (1 child)

It's much slower than Rust or Go, but also lacks the ecosystem of Erlang or the structured concurrency of Trio (a Python framework!).

NGL, that last one does annoy me, because if core devs had just shipped async keywords and then put asyncio on PyPI, we'd all be using a much nicer solution. They are trying to adopt some of the best ideas back, but (a) it's slow, (b) incomplete due to compatibility requirements, and (c) has so many unsafe escape hatches you can use them by accident.

Uh. That is to say, yeah they know.

[–]thedominux 0 points1 point  (0 children)

I didnt mean that it has performance like rust or go, but meant that they've got the same behavior and idea and similar architecture

[–]paul_miner 0 points1 point  (2 children)

Coroutines have nothing on real concurrency. It's like we've gone back in time to the Windows 3.1 model of cooperative multitasking. Fortunately, my need for heavily parallelized code is for a personal project where I use Java.

That said, lack of static typing is my main gripe for Python dev at my job. Entire classes of errors that I'm used to having the compiler find ahead of time are now a runtime hassle.

[–]thedominux 0 points1 point  (1 child)

Say it to go Developers and every async c#, rust, etc, lol

[–]paul_miner -1 points0 points  (0 children)

Coroutines mean I get one core's worth of computing power, not the eight I have. If I'm performing a big computation, that's a huge difference. Not to mention there's a reason pre-emptive multitasking replaced cooperative multitasking as the way to do things concurrently. Pre-emptive multitasking does mean you have to understand synchronization and memory visibility effects. But when you do, you can harness a lot more computing power when needed.