1. 23 Jun, 2014 4 commits
    • Rui Ueyama's avatar
      runtime: speed up amd64 memmove · a712e20a
      Rui Ueyama authored
      MOV with SSE registers seems faster than REP MOVSQ if the
      size being copied is less than about 2K. Previously we
      didn't use MOV if the memory region is larger than 256
      byte. This patch improves the performance of 257 ~ 2048
      byte non-overlapping copy by using MOV.
      
      Here is the benchmark result on Intel Xeon 3.5GHz (Nehalem).
      
      benchmark               old ns/op    new ns/op    delta
      BenchmarkMemmove16              4            4   +0.42%
      BenchmarkMemmove32              5            5   -0.20%
      BenchmarkMemmove64              6            6   -0.81%
      BenchmarkMemmove128             7            7   -0.82%
      BenchmarkMemmove256            10           10   +1.92%
      BenchmarkMemmove512            29           16  -44.90%
      BenchmarkMemmove1024           37           25  -31.55%
      BenchmarkMemmove2048           55           44  -19.46%
      BenchmarkMemmove4096           92           91   -0.76%
      
      benchmark                old MB/s     new MB/s  speedup
      BenchmarkMemmove16        3370.61      3356.88    1.00x
      BenchmarkMemmove32        6368.68      6386.99    1.00x
      BenchmarkMemmove64       10367.37     10462.62    1.01x
      BenchmarkMemmove128      17551.16     17713.48    1.01x
      BenchmarkMemmove256      24692.81     24142.99    0.98x
      BenchmarkMemmove512      17428.70     31687.72    1.82x
      BenchmarkMemmove1024     27401.82     40009.45    1.46x
      BenchmarkMemmove2048     36884.86     45766.98    1.24x
      BenchmarkMemmove4096     44295.91     44627.86    1.01x
      
      LGTM=khr
      R=golang-codereviews, gobot, khr
      CC=golang-codereviews
      https://golang.org/cl/90500043
      a712e20a
    • Mikio Hara's avatar
      syscall: consolidate, simplify socket options for Unix-like systems · e3e48cd0
      Mikio Hara authored
      Also exposes common socket option functions on Solaris.
      
      Update #7174
      Update #7175
      
      LGTM=aram
      R=golang-codereviews, aram
      CC=golang-codereviews
      https://golang.org/cl/107280044
      e3e48cd0
    • Mikio Hara's avatar
      syscall: don't display syscall prototype lines on godoc · 2ca1f7d5
      Mikio Hara authored
      LGTM=dave
      R=golang-codereviews, dave
      CC=golang-codereviews
      https://golang.org/cl/110020050
      2ca1f7d5
    • Rui Ueyama's avatar
      image/png: remove unnecessary function call · 9cddb486
      Rui Ueyama authored
      paeth(0, x, 0) == x for any uint8 value.
      
      LGTM=nigeltao
      R=golang-codereviews, bradfitz, nigeltao
      CC=golang-codereviews
      https://golang.org/cl/105290049
      9cddb486
  2. 22 Jun, 2014 3 commits
    • Rui Ueyama's avatar
      undo CL 101330053 / c19c9a063fe8 · a200e0b8
      Rui Ueyama authored
      sync.Pool is not supposed to be used everywhere, but is
      a last resort.
      
      ««« original CL description
      strings: use sync.Pool to cache buffer
      
      benchmark                         old ns/op    new ns/op    delta
      BenchmarkByteReplacerWriteString       3596         3094  -13.96%
      
      benchmark                        old allocs   new allocs    delta
      BenchmarkByteReplacerWriteString          1            0  -100.00%
      
      LGTM=dvyukov
      R=bradfitz, dave, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/101330053
      »»»
      
      LGTM=dave
      R=r, dave
      CC=golang-codereviews
      https://golang.org/cl/102610043
      a200e0b8
    • Dave Cheney's avatar
      test: add test case for issue 8074. · 5b342f78
      Dave Cheney authored
      Fixes #8074.
      
      The issue was not reproduceable by revision
      
      go version devel +e0ad7e329637 Thu Jun 19 22:19:56 2014 -0700 linux/arm
      
      But include the original test case in case the issue reopens itself.
      
      LGTM=dvyukov
      R=golang-codereviews, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/107290043
      5b342f78
    • Rui Ueyama's avatar
      strings: use sync.Pool to cache buffer · 3142861f
      Rui Ueyama authored
      benchmark                         old ns/op    new ns/op    delta
      BenchmarkByteReplacerWriteString       3596         3094  -13.96%
      
      benchmark                        old allocs   new allocs    delta
      BenchmarkByteReplacerWriteString          1            0  -100.00%
      
      LGTM=dvyukov
      R=bradfitz, dave, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/101330053
      3142861f
  3. 21 Jun, 2014 4 commits
  4. 20 Jun, 2014 7 commits
  5. 19 Jun, 2014 8 commits
  6. 18 Jun, 2014 6 commits
  7. 17 Jun, 2014 8 commits