如何检测Crystal中的CPU核心数?

时间:2017-03-31 18:27:49

标签: crystal-lang

如何检测水晶中的CPU核心数?

在Go中你可以runtime.NumCPU(),在Node.js中你可以os.cpus()。 Crystal中有类似的东西吗?

2 个答案:

答案 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.0https://github.com/crystal-lang/crystal/blob/fbfe8b62f44eca4596090b7580801bd184f73c7a/src/system.cr#L22

中树的来源