1. 23 Jan, 2014 4 commits
    • Dmitriy Vyukov's avatar
      bufio: fix benchmarks behavior · 0ad2cd00
      Dmitriy Vyukov authored
      Currently the benchmarks lie to testing package by doing O(N)
      work under StopTimer. And that hidden O(N) actually consitutes
      the bulk of benchmark work (e.g includes GC per iteration).
      This behavior accounts for windows-amd64-race builder hangs.
      
      Before:
      BenchmarkReaderCopyOptimal-4	 1000000	      1861 ns/op
      BenchmarkReaderCopyUnoptimal-4	  500000	      3327 ns/op
      BenchmarkReaderCopyNoWriteTo-4	   50000	     34549 ns/op
      BenchmarkWriterCopyOptimal-4	  100000	     16849 ns/op
      BenchmarkWriterCopyUnoptimal-4	  500000	      3126 ns/op
      BenchmarkWriterCopyNoReadFrom-4	   50000	     34609 ns/op
      ok  	bufio	65.273s
      
      After:
      BenchmarkReaderCopyOptimal-4	10000000	       172 ns/op
      BenchmarkReaderCopyUnoptimal-4	10000000	       267 ns/op
      BenchmarkReaderCopyNoWriteTo-4	  100000	     22905 ns/op
      BenchmarkWriterCopyOptimal-4	10000000	       170 ns/op
      BenchmarkWriterCopyUnoptimal-4	10000000	       226 ns/op
      BenchmarkWriterCopyNoReadFrom-4	  100000	     20575 ns/op
      ok  	bufio	14.074s
      
      Note the change in total time.
      
      LGTM=alex.brainman, rsc
      R=golang-codereviews, alex.brainman, rsc
      CC=golang-codereviews
      https://golang.org/cl/51360046
      0ad2cd00
    • Russ Cox's avatar
      lib/codereview: add LGTM= line to commit messages · 672ab629
      Russ Cox authored
      The R= is populated by Rietveld, so it's basically
      anyone who replied to the CL. The LGTM= is meant
      to record who actually signed off on the CL.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/55390043
      672ab629
    • Dmitriy Vyukov's avatar
      undo CL 45770044 / d795425bfa18 · 8371b014
      Dmitriy Vyukov authored
      Breaks darwin and freebsd.
      
      ««« original CL description
      runtime: increase page size to 8K
      Tcmalloc uses 8K, 32K and 64K pages, and in custom setups 256K pages.
      Only Chromium uses 4K pages today (in "slow but small" configuration).
      The general tendency is to increase page size, because it reduces
      metadata size and DTLB pressure.
      This change reduces GC pause by ~10% and slightly improves other metrics.
      
      json-1
      allocated                 8037492      8038689      +0.01%
      allocs                     105762       105573      -0.18%
      cputime                 158400000    155800000      -1.64%
      gc-pause-one              4412234      4135702      -6.27%
      gc-pause-total            2647340      2398707      -9.39%
      rss                      54923264     54525952      -0.72%
      sys-gc                    3952624      3928048      -0.62%
      sys-heap                 46399488     46006272      -0.85%
      sys-other                 5597504      5290304      -5.49%
      sys-stack                  393216       393216      +0.00%
      sys-total                56342832     55617840      -1.29%
      time                    158478890    156046916      -1.53%
      virtual-mem             256548864    256593920      +0.02%
      
      garbage-1
      allocated                 2991113      2986259      -0.16%
      allocs                      62844        62652      -0.31%
      cputime                  16330000     15860000      -2.88%
      gc-pause-one            789108229    725555211      -8.05%
      gc-pause-total            3945541      3627776      -8.05%
      rss                    1143660544   1132253184      -1.00%
      sys-gc                   65609600     65806208      +0.30%
      sys-heap               1032388608   1035599872      +0.31%
      sys-other                37501632     22777664     -39.26%
      sys-stack                 8650752      8781824      +1.52%
      sys-total              1144150592   1132965568      -0.98%
      time                     16364602     15891994      -2.89%
      virtual-mem            1327296512   1313746944      -1.02%
      
      R=golang-codereviews, dave, khr, rsc, khr
      CC=golang-codereviews
      https://golang.org/cl/45770044
      »»»
      
      R=golang-codereviews
      CC=golang-codereviews
      https://golang.org/cl/56060043
      8371b014
    • Dmitriy Vyukov's avatar
      runtime: increase page size to 8K · 6d603af6
      Dmitriy Vyukov authored
      Tcmalloc uses 8K, 32K and 64K pages, and in custom setups 256K pages.
      Only Chromium uses 4K pages today (in "slow but small" configuration).
      The general tendency is to increase page size, because it reduces
      metadata size and DTLB pressure.
      This change reduces GC pause by ~10% and slightly improves other metrics.
      
      json-1
      allocated                 8037492      8038689      +0.01%
      allocs                     105762       105573      -0.18%
      cputime                 158400000    155800000      -1.64%
      gc-pause-one              4412234      4135702      -6.27%
      gc-pause-total            2647340      2398707      -9.39%
      rss                      54923264     54525952      -0.72%
      sys-gc                    3952624      3928048      -0.62%
      sys-heap                 46399488     46006272      -0.85%
      sys-other                 5597504      5290304      -5.49%
      sys-stack                  393216       393216      +0.00%
      sys-total                56342832     55617840      -1.29%
      time                    158478890    156046916      -1.53%
      virtual-mem             256548864    256593920      +0.02%
      
      garbage-1
      allocated                 2991113      2986259      -0.16%
      allocs                      62844        62652      -0.31%
      cputime                  16330000     15860000      -2.88%
      gc-pause-one            789108229    725555211      -8.05%
      gc-pause-total            3945541      3627776      -8.05%
      rss                    1143660544   1132253184      -1.00%
      sys-gc                   65609600     65806208      +0.30%
      sys-heap               1032388608   1035599872      +0.31%
      sys-other                37501632     22777664     -39.26%
      sys-stack                 8650752      8781824      +1.52%
      sys-total              1144150592   1132965568      -0.98%
      time                     16364602     15891994      -2.89%
      virtual-mem            1327296512   1313746944      -1.02%
      
      R=golang-codereviews, dave, khr, rsc, khr
      CC=golang-codereviews
      https://golang.org/cl/45770044
      6d603af6
  2. 22 Jan, 2014 26 commits
  3. 21 Jan, 2014 10 commits