Как определить количество ядер процессора в кристалле?
В Go вы можете делать runtime.NumCPU()
, а в Node.js - os.cpus()
. В Кристалле есть что-то подобное?
Как определить количество ядер процессора в кристалле?
В Go вы можете делать runtime.NumCPU()
, а в Node.js - os.cpus()
. В Кристалле есть что-то подобное?
В последний раз, когда я проверял (правда, это было давно), прямого способа сделать это не было, но вы можете получить доступ к этой информации через командную строку. В итоге я объединил несколько элементов эти ответы для избыточности.
THREADS = `getconf _NPROCESSORS_ONLN || nproc --all || grep -c '^processor' /proc/cpuinfo`.to_i
Используйте 1_. Это даст вам количество доступных логических ядер. Этот метод был представлен в Crystal 0.23.0
.
Вот его источник в дереве Crystal 0.29.0
: https://github.com/crystal-lang/crystal/blob/fbfe8b62f44eca4596090b7580801bd184f73c7a/src/system.cr#L22