]> Cypherpunks repositories - gostls13.git/commit
[dev.link] cmd/link: free loader memory after LoadFull
authorCherry Zhang <cherryyz@google.com>
Tue, 28 Apr 2020 22:59:57 +0000 (18:59 -0400)
committerCherry Zhang <cherryyz@google.com>
Wed, 29 Apr 2020 16:21:37 +0000 (16:21 +0000)
commitf886ff7b417739cf2269267e7b057a7cfdc85324
tree1521a272c00bfc678e370111a20dced54245cd9c
parentdf2a46f85ad1e28076f639e3608ae9e2809f97a2
[dev.link] cmd/link: free loader memory after LoadFull

After LoadFull, we'll be using sym.Symbols mostly. We still need
the loader information for symbol index mappings and name
lookups, but not much else. Free some memory.

Linking cmd/compile,

name           old time/op    new time/op    delta
Loadlibfull_GC    44.5M ± 0%     35.8M ± 0%    -19.66%  (p=0.008 n=5+5)
Archive_GC        46.4M ± 0%     37.6M ± 0%    -18.89%  (p=0.008 n=5+5)

Linking cmd/compile with external linking,

name           old time/op    new time/op    delta
Loadlibfull_GC    82.5M ± 0%     57.4M ± 0%    -30.41%  (p=0.008 n=5+5)
Archive_GC        86.8M ± 0%     61.7M ± 0%    -28.90%  (p=0.008 n=5+5)

Change-Id: I6859d488172ef8968918b86de527fbfed6832ebf
Reviewed-on: https://go-review.googlesource.com/c/go/+/230300
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/cmd/link/internal/ld/pe.go
src/cmd/link/internal/loader/loader.go