cmd/go: go list does not scale with GOMAXPROCS

ds97pgxw  于 5个月前  发布在  Go
关注(0)|答案(7)|浏览(55)

你正在使用的Go版本是什么( go version )?
master ace1494
这个问题在最新的发布版本中是否会重现?
是的
你正在使用什么操作系统和处理器架构( go env )?
go env 输出

$ go env
GOARCH='arm64'
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOOS='darwin'

你做了什么?

  1. 克隆Kubernetes
  2. 运行 GOMAXPROCS=10 go list -json -m -u -mod=readonly -debug-trace=trace-default.txt all
  3. 运行 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
tzcvj98z

tzcvj98z1#

https://go.dev/cl/530037提到了这个问题:cmd/go: scale go list with GOMAXPROCS

bqf10yzr

bqf10yzr2#

这个更新有什么进展吗?它为大型多模块单仓库带来了很大的改善。

beq87vna

beq87vna3#

@dany74q ,下一步是提供基准测试。我想稍后做这件事。可能在11月。
我希望这个改变能被接受,用于Go的2月份发布。

9w11ddsr

9w11ddsr4#

@goto1134 any updates on this?

3pmvbmvn

3pmvbmvn5#

@AdallomRoy,PR仍在审核中,等待我在latest review comments之后重新审视性能测试。这是我清单上的下一个任务。

inb24sb2

inb24sb26#

@goto1134 any updates on this? it's been another month and performance is still abysmal.

mcdcgff0

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?

相关问题