你正在使用的Go版本是什么( go version
)?
master ace1494
这个问题在最新的发布版本中是否会重现?
是的
你正在使用什么操作系统和处理器架构( go env
)?go env
输出
$ go env
GOARCH='arm64'
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOOS='darwin'
你做了什么?
- 克隆Kubernetes
- 运行
GOMAXPROCS=10 go list -json -m -u -mod=readonly -debug-trace=trace-default.txt all
- 运行
GOMAXPROCS=20 go list -json -m -u -mod=readonly -debug-trace=trace-maxproc.txt all
第二个命令花费的时间与第一个命令相同。
这里是收集到的跟踪信息:
你期望看到什么?
第二个命令运行得更快,并根据GOMAXPROCS值进行扩展。
你看到了什么?
第二个注解花费的时间与第一个相同。
这里是收集到的跟踪信息:
trace-default.txt
trace-maxproc20.txt
从跟踪信息中可以看出,瓶颈在于这里的循环获取模块:
https://github.com/golang/go/blob/ace1494d9235be94f1325ab6e45105a446b3224c/src/cmd/go/internal/modload/list.go#L277C1-L286C4
7条答案
按热度按时间tzcvj98z1#
https://go.dev/cl/530037提到了这个问题:
cmd/go: scale go list with GOMAXPROCS
bqf10yzr2#
这个更新有什么进展吗?它为大型多模块单仓库带来了很大的改善。
beq87vna3#
@dany74q ,下一步是提供基准测试。我想稍后做这件事。可能在11月。
我希望这个改变能被接受,用于Go的2月份发布。
9w11ddsr4#
@goto1134 any updates on this?
3pmvbmvn5#
@AdallomRoy,PR仍在审核中,等待我在latest review comments之后重新审视性能测试。这是我清单上的下一个任务。
inb24sb26#
@goto1134 any updates on this? it's been another month and performance is still abysmal.
mcdcgff07#
@goto1134 any updates on this? it's been another month and performance is still abysmal.
Hey, @AdallomRoy ! As you might see, I provided all the changes requested by reviewers. Could you clarify how I can help you?