1. 23 Feb, 2017 2 commits
    • Josh Bleecher Snyder's avatar
      cmd/vet/all: use -dolinkobj=false to speed up runs · 731fd009
      Josh Bleecher Snyder authored
      When running on the host platform,
      the standard library has almost certainly already been built.
      However, all other platforms will probably need building.
      Use the new -dolinkobj=false flag to cmd/compile
      to only build the export data instead of doing a full compile.
      
      Having partial object files could be confusing for people
      doing subsequent cross-compiles, depending on what happens with #18369.
      However, cmd/vet/all will mainly be run by builders
      and core developers, who are probably fairly well-placed
      to handle any such confusion.
      
      This reduces the time on my machine for a cold run of
      'go run main.go -all' by almost half:
      
      benchmark           old ns/op        new ns/op        delta
      BenchmarkVetAll     240670814551     130784517074     -45.66%
      
      Change-Id: Ieb866ffb2cb714b361b0a6104077652f8eacd166
      Reviewed-on: https://go-review.googlesource.com/37385
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarRob Pike <r@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      731fd009
    • Josh Bleecher Snyder's avatar
      cmd/compile: add -dolinkobj flag · 005c77dd
      Josh Bleecher Snyder authored
      When set to false, the -dolinkobj flag instructs the compiler
      not to generate or emit linker information.
      
      This is handy when you need the compiler's export data,
      e.g. for use with go/importer,
      but you want to avoid the cost of full compilation.
      
      This must be used with care, since the resulting
      files are unusable for linking.
      
      This CL interacts with #18369,
      where adding gcflags and ldflags to buildid has been mooted.
      On the one hand, adding gcflags would make safe use of this
      flag easier, since if the full object files were needed,
      a simple 'go install' would fix it.
      On the other hand, this would mean that
      'go install -gcflags=-dolinkobj=false' would rebuild the object files,
      although any existing object files would probably suffice.
      
      Change-Id: I8dc75ab5a40095c785c1a4d2260aeb63c4d10f73
      Reviewed-on: https://go-review.googlesource.com/37384
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      005c77dd
  2. 22 Feb, 2017 15 commits
  3. 21 Feb, 2017 22 commits
  4. 20 Feb, 2017 1 commit