1. 11 Jan, 2013 5 commits
    • Shenghou Ma's avatar
      cmd/5g: allow optimization of return registers. · bdd9f297
      Shenghou Ma authored
      Modeled after CL 7030046 by daniel.morsing.
      
      example program:
      func f(x int) int { x -= 10; return x }
      
      5g -S difference:
       --- prog list "f" ---
       0011 (x.go:7) TEXT   	add+0(SB),$0-8
       0012 (x.go:7) MOVW   	x+0(FP),R0
      -0013 (x.go:7) SUB    	$10,R0,R2
      -0014 (x.go:7) MOVW   	R2,R0
      -0015 (x.go:7) MOVW   	R2,.noname+4(FP)
      -0016 (x.go:7) RET    	,
      +0013 (x.go:7) SUB    	$10,R0
      +0014 (x.go:7) MOVW   	R0,.noname+4(FP)
      +0015 (x.go:7) RET    	,
      
      R=dave, rsc
      CC=golang-dev
      https://golang.org/cl/7030047
      bdd9f297
    • Shenghou Ma's avatar
      cmd/5l: support -Z (zero stack frame at function entry) · d5d4ee47
      Shenghou Ma authored
      also added appropriate docs to cmd/ld/doc.go
      (largely copied from Russ's CL 6938073).
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/7004049
      d5d4ee47
    • Rick Arnold's avatar
      encoding/json: improve performance of Unmarshal on primitive types · 60abc6b5
      Rick Arnold authored
      Skip most of the scanning and parsing logic for simple (non-object/array) JSON values.
      
      benchmark                   old ns/op    new ns/op    delta
      BenchmarkUnmarshalInt             948          436  -54.01%
      BenchmarkUnmarshalUint            930          427  -54.09%
      BenchmarkUnmarshalString         1407          715  -49.18%
      BenchmarkUnmarshalFloat          1114          536  -51.89%
      BenchmarkUnmarshalBool            759          266  -64.95%
      BenchmarkUnmarshalStruct         8165         8181   +0.20%
      
      No significant effects on the go1 benchmarks:
      
      benchmark                 old ns/op    new ns/op    delta
      BenchmarkBinaryTree17    9647362752   9596196417   -0.53%
      BenchmarkFannkuch11      5623613048   5518694872   -1.87%
      BenchmarkGobDecode         32944041     33165434   +0.67%
      BenchmarkGobEncode         21237482     21080554   -0.74%
      BenchmarkGzip             750955920    749861980   -0.15%
      BenchmarkGunzip           197369742    197886192   +0.26%
      BenchmarkJSONEncode        79274091     78891137   -0.48%
      BenchmarkJSONDecode       180257802    175280358   -2.76%
      BenchmarkMandelbrot200      7396666      7388266   -0.11%
      BenchmarkParse             11446460     11386550   -0.52%
      BenchmarkRevcomp         1605152523   1599512029   -0.35%
      BenchmarkTemplate         204538247    207765574   +1.58%
      
      benchmark                  old MB/s     new MB/s  speedup
      BenchmarkGobDecode            23.30        23.14    0.99x
      BenchmarkGobEncode            36.14        36.41    1.01x
      BenchmarkGzip                 25.84        25.88    1.00x
      BenchmarkGunzip               98.32        98.06    1.00x
      BenchmarkJSONEncode           24.48        24.60    1.00x
      BenchmarkJSONDecode           10.76        11.07    1.03x
      BenchmarkParse                 5.06         5.09    1.01x
      BenchmarkRevcomp             158.34       158.90    1.00x
      BenchmarkTemplate              9.49         9.34    0.98x
      
      Fixes #3949.
      
      R=golang-dev, dave, bradfitz, timo
      CC=golang-dev
      https://golang.org/cl/7068043
      60abc6b5
    • Alex Brainman's avatar
      net: use windows ConnectEx to dial (when possible) · 810e4398
      Alex Brainman authored
      Update #2631.
      Update #3097.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/7061060
      810e4398
    • Georg Reinke's avatar
      syscall: implement Pipe2 on Linux and use it in ForkExec · e32d1154
      Georg Reinke authored
      Fixes #2656.
      
      R=golang-dev, bradfitz, iant, minux.ma
      CC=golang-dev
      https://golang.org/cl/7062057
      e32d1154
  2. 10 Jan, 2013 6 commits
  3. 09 Jan, 2013 15 commits
  4. 08 Jan, 2013 7 commits
  5. 07 Jan, 2013 7 commits