]> Cypherpunks repositories - gostls13.git/commit
cmd/compile, cmd/link: more efficient typelink generation
authorshaharko <skohanim@gmail.com>
Wed, 19 Oct 2016 04:33:16 +0000 (07:33 +0300)
committerShahar Kohanim <skohanim@gmail.com>
Tue, 25 Oct 2016 19:44:06 +0000 (19:44 +0000)
commitd8d445280a6a7e5f3535e8b49e9ae248f2627759
tree9924c85ccf22d27fd1d3d654435199b77c7571ce
parent5a9549260df1f5ffcbdd5938861fea9f74478661
cmd/compile, cmd/link: more efficient typelink generation

Instead of generating typelink symbols in the compiler
mark types that should have typelinks with a flag.
The linker detects this flag and adds the marked types
to the typelink table.

name            old s/op    new s/op    delta
LinkCmdCompile   0.27 ± 6%   0.25 ± 6%  -6.93%    (p=0.000 n=97+98)
LinkCmdGo        0.30 ± 5%   0.29 ±10%  -4.22%    (p=0.000 n=97+99)

name            old MaxRSS  new MaxRSS  delta
LinkCmdCompile   112k ± 3%   106k ± 2%  -4.85%  (p=0.000 n=100+100)
LinkCmdGo        107k ± 3%   103k ± 3%  -3.00%  (p=0.000 n=100+100)

Change-Id: Ic95dd4b0101e90c1fa262c9c6c03a2028d6b3623
Reviewed-on: https://go-review.googlesource.com/31772
Run-TryBot: Shahar Kohanim <skohanim@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
src/cmd/compile/internal/gc/reflect.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/objfile.go
src/cmd/internal/obj/sizeof_test.go
src/cmd/link/internal/ld/data.go
src/cmd/link/internal/ld/deadcode.go
src/cmd/link/internal/ld/link.go
src/cmd/link/internal/ld/main.go
src/cmd/link/internal/ld/objfile.go
src/cmd/link/internal/ld/symtab.go
src/cmd/link/internal/ld/typelink.go [new file with mode: 0644]