Hacker News new | past | comments | ask | show | jobs | submit login

Is there no need to tune the number of threads with an approach like this? Or is there a general notion of the appropriate number of threads given the number of CPU cores?

If you're not doing any I/O, the number of threads can be limited to the number of cores. I believe this is the default for Fork/Join.

Correct. ForkJoinPool defaults to Runtime.getRuntime().availableProcessors() threads (but can be adjusted). The reducers library (https://github.com/clojure/clojure/commit/89e5dce0fdfec4bc09...) seems to initialize the pool with the default constructor.

I believe the Java fork/join library handles this tuning automatically... so it's a freebie based on Rich Hickey's design.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact