我目前正在开发一个Go程序,它从数据库加载数据,运行一些计算,然后将结果保存到同一个数据库。有多个gorutines。
运行时间(5-6分钟)出乎意料地长。在article之后,我执行了CPU分析,结果发现70%以上的CPU时间是与垃圾收集相关的代码运行。
现在,我尝试了内存分析,但结果中没有出现我的代码。这是我第一次剖析程序 - 我不知道如何继续优化程序或在哪里查找问题。我感谢任何帮助。
提前致谢!
答案 0 :(得分:0)
正如阿德里安的评论所指出的那样,问题是'简单地通过累积而不是平面排序来解决,例如使用top10 -cum