Я очень рад, что в Crystal-lang появилась многопоточность. Кто-нибудь еще проводил многопоточный бенчмаркинг для Crystal-lang; если да, то какие CRYSTAL_WORKERS, по вашему мнению, оказались полезными для того, что вы сравнивали? (Да, я знаю, что каждый тест отличается, поэтому пробег может отличаться.)
Значение по умолчанию для CRYSTAL_WORKERS равно 4, но кажется, что должно быть больше, по крайней мере, на высокоядерных системах. Могут ли тесты, которые привели к этому значению 4
, быть связаны с побочным эффектом количества ядер, используемых в то время, или с чем-то еще?
Я провел несколько сравнений Фибоначчи на 8-ядерном (Intel) и 16-ядерном (AMD) ЦП и получил несколько больших пиков и впадин (https://github.com/drhuffman12/bench_vs/blob/master/threads/README.md ). (Для простых вычислений/преобразований накладные расходы на волокна/и т.д. кажутся нецелесообразными, но для более ресурсоемкого кода, такого как вычисления Фибиначчи, волокна с более высокими значениями CRYSTAL_WORKERS и same_thread: false
кажутся потенциально полезными.)