Async Rust is a Bad Language
Very good intro and thought provoking article on #concurrency and #parallelism, and their use in #Rust.
It champions #TonyHoare's #CSP model of concurrency which takes me back. Back to the time I failed to get funding for a start-up to build an #Occam compiler targeting i386. Which was largely a ploy to get the UK government to buy me some neat kit š¤·āāļø
Anyway, here's the article:
https://bitbashing.io/async-rust.html
#concurrency #parallelism #rust #TonyHoare #csp #occam #rustlang #async
"I'm jealous with all the attention 'threads' are getting lately."
Ā - a process, however lowly & otherwise humble
"Me too!"
Ā - a coroutineĀ
"Honestly, same."
Ā - a goroutineĀ
"It me."
- a fiberĀ
"My people!"
- a taskletĀ
"Represent!"
- a greenlet, looking suspiciously like a fiber and tasklet, but colored greenĀ
#programming
#concurrency
#threading
#MultiThreading
#parallelism
#fibers
#greenlets
#processes
#threads #programming #concurrency #threading #multithreading #parallelism #fibers #greenlets #processes
as a fan of oldskool dystopic/apoc fiction & drama TV (esp from the 60s to 80s, & UK/Euro) let me just say Meta's choice of the Threads name is terrible... & PTSD-inducing
as a decades-long programmer with plenty of scars from doing & seeing multi-threaded programming at scale, well, let me just say Meta's choice of the Threads name is also terrible... & PTSD inducing
#programming
#multithreading
#concurrency
#parallelism
#threading
#fibers
#coroutines
#goroutines
#processes
#meta #threads #programming #multithreading #concurrency #parallelism #threading #fibers #coroutines #goroutines #processes
whenever I hear someone talk about using Meta/Facebook's new Threads I think, "Nah I'll just stick with Golang's channels-and-goroutines model instead, thanks!"
#Go
#Golang
#channels
#goroutines
#threading
#parallelism
#concurrency
#go #golang #channels #goroutines #threading #parallelism #concurrency #threads #facebook #meta
'MALib: A Parallel Framework for Population-based Multi-agent Reinforcement Learning', by Ming Zhou et al.
http://jmlr.org/papers/v24/22-0169.html
#reinforcement #agent #parallelism
#reinforcement #Agent #parallelism
With just ONE line, decorate a #Python function with ā@njitā to parallelize it automatically. Multi-core (CPu and GPU) and SIMD vectorization supported. *jaw drops* š²
#python #simd #parallelism #numba #jit #decorators
To be fast, weld needs to link objects concurrently & simultaneously. A few days ago, Iāve implemented a simple `ThreadPool` type, in the new `weld-scheduler` crate, https://github.com/Hywan/weld/blob/ea792c808887306acc6985bd71910fc35051a530/crates/scheduler/src/lib.rs.
Itās able to send `Future`s on various threads where async workers execute them.
Itās done with smol, a light & flexible set of crates to implement custom async runtimes, https://github.com/smol-rs/smol.
Next step: āLinker Strategyā to link things for real!
#weld #rustlang #parallelism #concurrency #thread
Nim is like Python on steroids. Crystal is like Ruby on steroids. Which one is suited for competitive programming involving data structures like doubly linked lists? And which language is best for multi-core parallelism? Would love to hear opinions.
#nim #crystal #python #ruby #golang #rust #parallelism #concurrency #competitiveprogramming #leetcode
#nim #crystal #python #ruby #golang #rust #parallelism #concurrency #competitiveprogramming #leetcode
"events are an invention of the devil"
@joxean glad you got it working!
If it is I/O bound then threads are better, and you can use a same-process Lock. I used them recently where a Python wrapper for a binary process silently uses threading, to sync output to avoid interlacing of the text.
If it is CPU bound then it's good to go for multiprocessing or concurrent.Futures with a process executor. Then you need to use IPC synchronisation, e.g. Pipe and Queue.
#python #parallelism #concurrency
A portfolio approach to massively parallel Bayesian optimization
#optimization #parallel #parallelism
Just finished day 15 part 02 of last year's #adventofcode : https://notabug.org/ZelphirKaltstahl/advent-of-code-2022/src/63b2e6b48ad58d30f0e1b15f1c2ecc89bd8c57c6/day-15
This time parallelization worked very well.
#adventofcode #programming #coding #guile #scheme #parallelism
Today I decided to solve another puzzle from #adventofcode. Solved day 14 part 01 and 02: https://notabug.org/ZelphirKaltstahl/advent-of-code-2022/src/cfdc0d5c98f80d66358d26d54cc783b9375efe08/day-14
It was somewhat unsatisfying, because I did not manage to gain much speedup using my futures-based parallel-map function. Often a simple map was faster. Tried to chunkify longer lists and run lambdas for those chunks in parallel, but also did not gain much speedup. Might need to try guile-parallel.
#adventofcode #programming #coding #guile #scheme #parallelism
Just finished solving day 13 part 01 of #adventofcode: https://notabug.org/ZelphirKaltstahl/advent-of-code-2022/src/28b597b68f59f607d2dbb0b7e010394c6024d296/day-13/part-01.scm
Parallelized it, even if input size does not really require it.
Learning: One can use continuations to avoid encoding the 3 comparison (less, equal, greater) results into 3 values š”
#programming #coding #guile #scheme #parallelism #continuations
#adventofcode #programming #coding #guile #scheme #parallelism #continuations
Solved day 12 part 02 of #adventofcode (2022): https://notabug.org/ZelphirKaltstahl/advent-of-code-2022/src/4a34075c45108d70dc66f8edcfc397f4a449b71a/day-12/part-02.scm
I parallelized it, but it is not using all cores and I am not sure why it is not; where something is blocking or a bottle neck š¤ Maybe there is a clever approach, which allows for not computing as many things (cannot go into detail without spoilers), but since it finishes in reasonable time, I am too lazy to optimize further.
#adventofcode #programming #coding #guile #scheme #parallelism #futures
I wrote up how I optimised a very slow program I did for Advent of Code: https://work.njae.me.uk/2022/12/29/optimising-haskell-example-1/ #Haskell #AdventOfCode #Optimisation #Parallelism
#haskell #adventofcode #optimisation #parallelism
Some time ago I started working through project Euler problems [1] using GNU Guile there as well. Not very far yet. Sometimes it has been a drag, because the early problems are not very challenging algorithmically, but it takes time to code them up. However, the `lib` also contains possibly interesting stuff for using multiple cores, parallelizing work. Using that in some of the solutions.
[1]: https://notabug.org/ZelphirKaltstahl/guile-project-euler-solutions
#programming #coding #guile #projecteuler #parallelism #multicore #scheme
#programming #coding #guile #projecteuler #parallelism #multicore #scheme
I can't wait to "get earn Microsoft rewards points". #Parallelism #CopyEditor
The Billionaire @elonmusk@twitter.com on the streets of billionaire #HowardHughes. Even #Musk shows some signs of imbalance.
#parallelism #ElonMusk New York https://en.wikipedia.org/wiki/Howard_Hughes
#howardhughes #musk #parallelism #elonmusk