core-async 2025-04-17

Alex Miller (Clojure team) 2025-04-17T20:27:09.534759Z

anyone have a well-contained core.async go block use case that could be easily tested for perf? like a real(ish) thing, not a toy. I have toys, and I have giant honking real things, but I am seeking something in between. :)

Alex Miller (Clojure team) 2025-04-18T12:07:43.693809Z

I’m just looking for something where it would be possible to see difference in perf characteristics with go analyzer vs vthreads on a macro level

I just remembered I made this thing some time back: https://github.com/saberstack/loop/blob/main/src/ss/loop.cljc

Not sure if it’s “complex” enough (the internal go inside is relatively small) but it is “self-contained”

Hmm… Yeah the “in between” part is hard… I just skimmed some old code and it’s either tiny 2-3 liners or “giant honking” things that connect to services, like RabbitMQ, AWS, etc… Not really… “well-contained”.

What sort of use case? I had a case at work where I had to consume a paginated graph API, responses could be of interesting size. The most inefficient and naive solution requires walking the entire structure, so there's both potentially lots of IO and compute