Как определить количество ядер процессора в Crystal?

Как определить количество ядер процессора в кристалле?

В Go вы можете делать runtime.NumCPU(), а в Node.js - os.cpus(). В Кристалле есть что-то подобное?


person Sam Eaton    schedule 31.03.2017    source источник


Ответы (2)


В последний раз, когда я проверял (правда, это было давно), прямого способа сделать это не было, но вы можете получить доступ к этой информации через командную строку. В итоге я объединил несколько элементов эти ответы для избыточности.

THREADS = `getconf _NPROCESSORS_ONLN || nproc --all || grep -c '^processor' /proc/cpuinfo`.to_i
person Oleh Prypin    schedule 31.03.2017

Используйте 1_. Это даст вам количество доступных логических ядер. Этот метод был представлен в Crystal 0.23.0.

Вот его источник в дереве Crystal 0.29.0: https://github.com/crystal-lang/crystal/blob/fbfe8b62f44eca4596090b7580801bd184f73c7a/src/system.cr#L22

person taylorthurlow    schedule 25.06.2019