基准运行时仅显示 100%

我只是在做一个 1000 万次插入基准测试,以查看我正在构建的小型缓存系统的性能。在观察活动监视器时,我注意到mainGo 进程仅显示 100%(800% 的)CPU。

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

我没有发布代码,因为测试代码只不过是主体测试函数中的一个循环。


慕田峪4524236
浏览 193回答 1
1回答

MM们

您的应用程序只使用一个线程,因此只有一个核心以 100% 运行是正确的。如果您想使用多个内核,则必须使用多个 goroutine,请记住设置GOMAXPROCSshell 环境,否则您的应用程序将只使用一个内核。请记住,使用多个进程可能会使您的应用程序更慢,因为如果您的行为本质上是顺序的,您无法仅添加更多goroutine. 只有当您的行为本质上是并行时,您才能真正利用多线程。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go