News for hackers. Stuff that matters.
Re:What's up, Python? The GIL removed, a new compiler, optpa... by hughesjj on Sunday July 30, 2023 @08:40PM (#36937642)
Ehhh I mean you're not wrong, but I wouldn't say you're fully right either.

You can absolutely send stuff to a thread pool executor or process pool executor and then never await the returned value/never have it "return until interrupted, but the issues with shared memory (or really, the lack thereof in comparison to ex C) are still present to my understanding.

Then again, I mean you can always spin up a sqllite server or something on the same machine, but that's stupid heavy and more of a workaround than a solution. Super excited for nogil.

https://docs.python.org/3/library/concurrent.futures.html#co...

Re:What's up, Python? The GIL removed, a new compiler, optpa... by mypalmike on Sunday July 30, 2023 @09:39PM (#36937937)
Not sure why you mention "thread pool executor", which of course does not get you concurrency due to the gil.
Re:What's up, Python? The GIL removed, a new compiler, optpa... by xcv123 on Monday July 31, 2023 @12:21AM (#36938781)
Pedantic nerd nitpick: it gives you concurrency but not parallelism. (Concurrent threads can be time sliced on one core)
Re:What's up, Python? The GIL removed, a new compiler, optpa... by IshKebab on Monday July 31, 2023 @03:29AM (#36939703)
It was clear from the context that he meant concurrently running not concurrently in progress. I wish nerds would give up on this parallelism/concurrency pedantry or at least choose some new nomenclature that didn't conflict so massively with the English meaning of "concurrent".

I mean it's not even right. Most parallel/concurrent pedants would consider multithreaded code to be "parallel" even if it is running on a single core.

I think the best thing is to talk about threads, because then you can distinguish e.g. OS threads and hardware threads.

Re:What's up, Python? The GIL removed, a new compiler, optpa... by da39a3ee on Monday July 31, 2023 @09:17AM (#36942052)
> I mean it's not even right. Most parallel/concurrent pedants would consider multithreaded code to be "parallel" even if it is running on a single core.

Hm, I think running on a single core is the exact definition of what the "pedants" say is not parallel. If all you have is one core then you can't achieve parallelism under their definition.

I think the terminology is pretty well established now. But I do agree with you that it's a bad choice of words and that it's annoying, intelligent even, for people to pick a particular unintuitive definition and then go around brow-beating people for not using/understanding their definition.

Re:What's up, Python? The GIL removed, a new compiler, optpa... by xcv123 on Monday July 31, 2023 @03:55PM (#36947917)
> I mean it's not even right. Most parallel/concurrent pedants would consider multithreaded code to be "parallel" even if it is running on a single core.

If you're using these as technical terms which have specific technical definitions, then concurrency and parallelism are distinct but related concepts, and parallel computing means executing code simultaneously on separate execution units, not time sliced on a single core. So yes I am actually right about this. Parallel computing is defined this way in CS and it's not a matter of opinion.