commit | 17722c21e754f25b7694b350cdae044b9729776c | [log] [tgz] |
---|---|---|
author | Than McIntosh <thanm@google.com> | Sat Nov 02 09:36:28 2019 -0400 |
committer | Than McIntosh <thanm@google.com> | Fri Nov 08 16:35:06 2019 +0000 |
tree | 89823b0be12e1cc41a291300c8226b455704d789 | |
parent | b4245ea54432bcdc92dc5e0e84b07408f5ee5479 [diff] |
[dev.link] cmd/link/internal/loader: reduce ABI alias postprocessing overhead In loadObjFull when populating the sym.Reloc vector for live symbols, avoid using the loader.SymType() method to determine if a relocation targets an ABI alias; since invoking loader.SymType requires a global-to-local index translation and a read from the object file. Instead just look at the target symbol itself, which has already been created at this point. Hyperkube performance numbers for this change: name old time/op new time/op delta RelinkHyperkube 29.9s ± 2% 29.2s ± 3% -2.42% (p=0.000 n=20+20) RelinkWithoutDebugHyperkube 22.0s ± 3% 21.4s ± 3% -2.58% (p=0.000 n=20+20) Change-Id: Ib7696d8760dd0485240246d6d640668fbf451d71 Reviewed-on: https://go-review.googlesource.com/c/go/+/205257 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jeremy Faller <jeremy@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.