I am very happy that Crystal-lang now has multithreading. Has anyone else done some multi-threaded benchmarking for Crystal-lang; if so, what CRYSTAL_WORKERS have you seen to be beneficial for what you benchmarked? (Yeah, I know, every benchmark is different, so mileage may vary.)
The default for CRYSTAL_WORKERS is 4, but it seems like it should be more, at least on higher-core systems. Could the benchmarks that lead to that 4
value possibly be tied to a side-effect of the number of cores used at the time or something else?
I did some Fibonacci comparisons on an 8-core (Intel) and a 16-core (AMD) CPU and got some large peaks and valley patterns ( https://github.com/drhuffman12/bench_vs/blob/master/threads/README.md ). (For simple calculations/transformations, the overhead of fibers/etc seem to not be worth it; but for more computationally-intensive code, like Fibinacci calcs, fibers w/ higher CRYSTAL_WORKERS values and same_thread: false
seemed to potentially helpful.)