]> Cypherpunks repositories - gostls13.git/commit
[dev.link] cmd/link: parallelize ELF relocation writing
authorCherry Zhang <cherryyz@google.com>
Fri, 26 Jun 2020 23:17:33 +0000 (19:17 -0400)
committerCherry Zhang <cherryyz@google.com>
Sun, 5 Jul 2020 23:57:04 +0000 (23:57 +0000)
commit36939aef772219e896e00e60b4ad83cd7bee2aa5
treeffd8cd5e19d427df8e55589eaaa7803f6a3bbd6d
parent987ce938245566f8a8568cb3b7f43ff8442c2353
[dev.link] cmd/link: parallelize ELF relocation writing

Now that we write ELF relocation records in mapped memory with
known sizes and offsets, we can write them in parallel.

Further speed up Asmb2 pass. Linking cmd/compile with external
linking,

Asmb2        141ms ± 4%      97ms ± 5%  -30.98%  (p=0.000 n=10+9)

Change-Id: I52c2b9230e90ed4421c21d7ef13a4f1e996f6054
Reviewed-on: https://go-review.googlesource.com/c/go/+/240400
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/link/internal/amd64/asm.go
src/cmd/link/internal/arm/asm.go
src/cmd/link/internal/arm64/asm.go
src/cmd/link/internal/ld/elf.go
src/cmd/link/internal/ld/lib.go
src/cmd/link/internal/mips/asm.go
src/cmd/link/internal/mips64/asm.go
src/cmd/link/internal/ppc64/asm.go
src/cmd/link/internal/riscv64/asm.go
src/cmd/link/internal/s390x/asm.go
src/cmd/link/internal/x86/asm.go