News for hackers. Stuff that matters.
Re:Fearless Concurrency: Clojure, Rust, Pony, Erlang and Dart by stingraycharles on Monday February 25, 2019 @03:47PM (#19249310)
Yeah this is true, typically you want to keep blocking functions outside this. By default, core.async allocates as many threads as cores in your CPU.

In addition to this, I personally find core.async to deal poorly with flow control (e.g. slow subscribers slowing down the entire flow for every subscriber), and seems to not have a lot of telemetry / it’s difficult to find out what’s going on in the thread pool behind it.

I’ve personally settled on Zach Tellman’s Manifold library, which provides a much more sane abstraction and is fully compatible with core.async.

For some addition thought and material on these topics, I highly recommend watching this talk by Zach, “Everything Will Flow” https://youtu.be/1bNOO3xxMc0

Re:Fearless Concurrency: Clojure, Rust, Pony, Erlang and Dart by jwr on Monday February 25, 2019 @06:00PM (#19250334)
Hmm, interesting — but manifold is clj-only, and I use core.async both on server side and client-side in ClojureScript.