如何检测水晶中的CPU核心数?
在Go中你可以runtime.NumCPU()
,在Node.js中你可以os.cpus()
。 Crystal中有类似的东西吗?
答案 0 :(得分:2)
我最后一次检查(不可否认,很久以前)没有直接的方法,但您可以通过命令行访问此信息。我最终将多个these answers组合起来以实现冗余。
THREADS = `getconf _NPROCESSORS_ONLN || nproc --all || grep -c '^processor' /proc/cpuinfo`.to_i
答案 1 :(得分:0)
使用System.cpu_count
。这将为您提供可用的逻辑核心数量。此方法是在Crystal 0.23.0
中引入的。
以下是Crystal 0.29.0
:https://github.com/crystal-lang/crystal/blob/fbfe8b62f44eca4596090b7580801bd184f73c7a/src/system.cr#L22