在基准测试中仅显示100%

时间:2016-06-12 20:13:14

标签: go osx-elcapitan

我正在做一个10万亿的插入基准测试,以了解我正在构建的小型缓存系统的性能。在观察活动监视器时,我注意到main Go进程只显示了100%(800%)的CPU。

我是否需要将循环拆分为例程以使其分成所有8个核心,还是有其他原因?

我没有发布代码,因为测试代码不过是主体测试功能中的循环。

1 个答案:

答案 0 :(得分:1)

您的应用程序仅使用一个线程,因此只有一个核心以100%运行是正确的 如果你想使用多个核心,你必须使用多个go例程,记住设置GOMAXPROCS shell环境或你的应用程序只使用一个核心。
请记住,使用多个流程可能会使您的应用程序变得更慢,因为如果您的行为本质上是顺序的,那么只需添加更多goroutine就无法加快应用程序的速度。只有当您的行为本质上是平行的时,才能真正利用多线程。