This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-01-14
Channels
- # beginners (33)
- # cider (17)
- # clara (13)
- # cljs-dev (7)
- # clojars (1)
- # clojure (47)
- # clojure-brasil (1)
- # clojure-dev (4)
- # clojure-italy (3)
- # clojure-russia (4)
- # clojure-uk (1)
- # clojurescript (4)
- # core-async (4)
- # core-logic (6)
- # cursive (7)
- # datomic (1)
- # emacs (35)
- # fulcro (56)
- # hoplon (7)
- # jobs-discuss (89)
- # lumo (6)
- # numerical-computing (1)
- # onyx (86)
- # parinfer (3)
- # reagent (2)
- # rum (2)
- # specter (5)
- # sql (13)
- # unrepl (2)
@xiongtx the example is a bit borked, the channels used in the article don't have buffers, and so there's a lot of overhead over hand-off between threads, also without buffers it's possible most threads are waiting on other threads to complete their work
I actually don't see a difference when using channels of size n
.
Maybe it's a hardware limitation? Here are my specs: http://disq.us/p/1payww2
a channel without a buffer is like two people working in an assembly line where each person has to hand their work directly to the person next to them. If the next person isn't ready for your item, you have to sit there waiting for them to become ready
Compare that to a conveyor belt with 1000 slots, and the semantics will be a lot different.