1. 28 Jun, 2016 4 commits
    • David Crawshaw's avatar
      reflect, runtime: optimize Name method · ed9362f7
      David Crawshaw authored
      Several minor changes that remove a good chunk of the overhead added
      to the reflect Name method over the 1.7 cycle, as seen from the
      non-SSA architectures.
      
      In particular, there are ~20 fewer instructions in reflect.name.name
      on 386, and the method now qualifies for inlining.
      
      The simple JSON decoding benchmark on darwin/386:
      
      	name           old time/op    new time/op    delta
      	CodeDecoder-8    49.2ms ± 0%    48.9ms ± 1%  -0.77%  (p=0.000 n=10+9)
      
      	name           old speed      new speed      delta
      	CodeDecoder-8  39.4MB/s ± 0%  39.7MB/s ± 1%  +0.77%  (p=0.000 n=10+9)
      
      On darwin/amd64 the effect is less pronounced:
      
      	name           old time/op    new time/op    delta
      	CodeDecoder-8    38.9ms ± 0%    38.7ms ± 1%  -0.38%  (p=0.005 n=10+10)
      
      	name           old speed      new speed      delta
      	CodeDecoder-8  49.9MB/s ± 0%  50.1MB/s ± 1%  +0.38%  (p=0.006 n=10+10)
      
      Counterintuitively, I get much more useful benchmark data out of my
      MacBook Pro than a linux workstation with more expensive Intel chips.
      While the laptop has fewer cores and an active GUI, the single-threaded
      performance is significantly better (nearly 1.5x decoding throughput)
      so the differences are more pronounced.
      
      For #16117.
      
      Change-Id: I4e0cc1cc2d271d47d5127b1ee1ca926faf34cabf
      Reviewed-on: https://go-review.googlesource.com/24510Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      ed9362f7
    • Lynn Boger's avatar
      runtime/internal/atomic: Use power5 compatible instructions for ppc64 · b75b0630
      Lynn Boger authored
      This modifies a recent performance improvement to the
      And8 and Or8 atomic functions which required both ppc64le
      and ppc64 to use power8 instructions. Since then it was
      decided that ppc64 (BE) should work for power5 and later.
      This change uses instructions compatible with power5 for
      ppc64 and uses power8 for ppc64le.
      
      Fixes #16004
      
      Change-Id: I623c75e8e6fd1fa063a53d250d86cdc9d0890dc7
      Reviewed-on: https://go-review.googlesource.com/24181Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      Run-TryBot: Andrew Gerrand <adg@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      b75b0630
    • Raul Silvera's avatar
      net/http/pprof: remove comments pointing to gperftools · 05ecf534
      Raul Silvera authored
      The version of pprof in gperftools has been deprecated.
      No need to have a pointer to that version since go tool pprof
      is included with the Go distro.
      
      Change-Id: I6d769a68f64280f5db89ff6fbc67bfea9c8f1526
      Reviewed-on: https://go-review.googlesource.com/24509Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      05ecf534
    • David Crawshaw's avatar
      encoding/gob: avoid allocating string for map key · 73516c5f
      David Crawshaw authored
      On linux/386 compared to tip:
      
      	name                     old time/op  new time/op  delta
      	DecodeInterfaceSlice-40  1.23ms ± 1%  1.17ms ± 1%  -4.93%  (p=0.000 n=9+10)
      
      Recovers about half the performance regression from Go 1.6 on 386.
      
      For #16117.
      
      Change-Id: Ie8676d92a4da3e27ff21b91a98b3e13d16730ba1
      Reviewed-on: https://go-review.googlesource.com/24468Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      73516c5f
  2. 27 Jun, 2016 10 commits
  3. 26 Jun, 2016 1 commit
  4. 25 Jun, 2016 1 commit
    • Ian Lance Taylor's avatar
      cmd/pprof: don't use local symbolization for remote source · 4fcb4eb2
      Ian Lance Taylor authored
      If we are using a remote source (a URL), and the user did not specify
      the executable file to use, then don't try to use a local source.
      This was misbehaving because the local symbolizer will not fail
      if there is any memory map available, but the presence of a memory map
      does not ensure that the files and symbols are actually available.
      
      We still need a pprof testsuite.
      
      Fixes #16159.
      
      Change-Id: I0250082a4d5181c7babc7eeec6bc95b2f3bcaec9
      Reviewed-on: https://go-review.googlesource.com/24464
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      Reviewed-by: 's avatarJoe Tsai <thebrokentoaster@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4fcb4eb2
  5. 24 Jun, 2016 7 commits
  6. 23 Jun, 2016 6 commits
  7. 22 Jun, 2016 5 commits
  8. 21 Jun, 2016 6 commits