1. 17 Nov, 2011 2 commits
    • Alex Brainman's avatar
      exp/ssh: change test listen address, also exit test if fails · 3ec82f6e
      Alex Brainman authored
      R=golang-dev, rsc
      CC=dave, golang-dev
      https://golang.org/cl/5364061
      3ec82f6e
    • Russ Cox's avatar
      reflect: make Value an opaque struct · a479a455
      Russ Cox authored
      Making Value opaque means we can drop the interface kludges
      in favor of a significantly simpler and faster representation.
      v.Kind() will be a prime candidate for inlining too.
      
      On a Thinkpad X201s using -benchtime 10:
      
      benchmark                           old ns/op    new ns/op    delta
      json.BenchmarkCodeEncoder           284391780    157415960  -44.65%
      json.BenchmarkCodeMarshal           286979140    158992020  -44.60%
      json.BenchmarkCodeDecoder           717175800    388288220  -45.86%
      json.BenchmarkCodeUnmarshal         734470500    404548520  -44.92%
      json.BenchmarkCodeUnmarshalReuse    707172280    385258720  -45.52%
      json.BenchmarkSkipValue              24630036     18557062  -24.66%
      
      benchmark                            old MB/s     new MB/s  speedup
      json.BenchmarkCodeEncoder                6.82        12.33    1.81x
      json.BenchmarkCodeMarshal                6.76        12.20    1.80x
      json.BenchmarkCodeDecoder                2.71         5.00    1.85x
      json.BenchmarkCodeUnmarshal              2.64         4.80    1.82x
      json.BenchmarkCodeUnmarshalReuse         2.74         5.04    1.84x
      json.BenchmarkSkipValue                 77.92       103.42    1.33x
      
      I cannot explain why BenchmarkSkipValue gets faster.
      Maybe it is one of those code alignment things.
      
      R=iant, r, gri, r
      CC=golang-dev
      https://golang.org/cl/5373101
      a479a455
  2. 16 Nov, 2011 16 commits
  3. 15 Nov, 2011 19 commits
  4. 14 Nov, 2011 3 commits