commit | 8515d9cf656dedce3dbcb09ac7dc00f036e454d3 | [log] [tgz] |
---|---|---|
author | Keith Randall <khr@google.com> | Mon Apr 01 12:22:22 2019 -0700 |
committer | Keith Randall <khr@golang.org> | Tue Apr 23 17:58:12 2019 +0000 |
tree | 2c48bcb9689c5e3f7656c7edaa24ba8dc85a26ef | |
parent | fd788a86b6427ef7ec1f25d4d4f0412bc883ccaf [diff] |
runtime: randomize package initialization order in race mode This is one small step to force people to not depend on the order of initialization of packages which are not explicitly ordered by import directives. Similar to randomizing map iteration order, this makes sure people aren't depending on the behavior of the current release, so that we can change the order in future releases without breaking everyone. Maybe one day we can randomize always, but for now we do it just in race mode. (We would need to measure the impact on startup time before we enabled it always.) RELNOTE=yes Change-Id: I99026394796125974c5f2c3660a88becb92c9df3 Reviewed-on: https://go-review.googlesource.com/c/go/+/170318 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
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.