1. 02 Mar, 2017 7 commits
  2. 01 Mar, 2017 28 commits
    • Robert Griesemer's avatar
      go/types: change local gotype command to use source importer · 4be4da63
      Robert Griesemer authored
      Also: Remove -gccgo flag (not supported after 1.5), minor
      cleanups.
      
      Change-Id: I625241b07b277ac50ff836e2230b7b285887d35e
      Reviewed-on: https://go-review.googlesource.com/37654Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      4be4da63
    • Keith Randall's avatar
      cmd/compile: ppc64x no longer needs a scratch stack location · 13c35a1b
      Keith Randall authored
      After https://go-review.googlesource.com/c/36725/, ppc64x no longer
      needs a temp stack location for int reg <-> fp reg moves.
      
      Update #18922
      
      Change-Id: Ib4319784f7a855f593dfa5231604ca2c24e4c882
      Reviewed-on: https://go-review.googlesource.com/37651Reviewed-by: 's avatarLynn Boger <laboger@linux.vnet.ibm.com>
      13c35a1b
    • Josh Bleecher Snyder's avatar
      net/smtp: skip flaky TestTLSClient on freebsd/amd64 · 466a8915
      Josh Bleecher Snyder authored
      Updates #19229
      
      Change-Id: Ibe1ea090ac064c7eb5abd225214ab43744bafbc4
      Reviewed-on: https://go-review.googlesource.com/37653
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      466a8915
    • Raul Silvera's avatar
      cmd/vendor/github.com/google/pprof: refresh from upstream · a047f72d
      Raul Silvera authored
      Updating to commit dec22b42d9eee442222c36c8da24ddc9905e7ee6
      from github.com/google/pprof
      
      Fixes #19322.
      
      Change-Id: I1bc3fcd381f22d52557f61c6fb694f54fc64470c
      Reviewed-on: https://go-review.googlesource.com/37652Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      a047f72d
    • Keith Randall's avatar
      cmd/compile: fix disassembly of invalid instructions · 1eed80f0
      Keith Randall authored
      Make sure that if we encode an explicit base register, we print it.
      That will ensure that if we make an Addr with an auto variable but
      a base that isn't SP, then it will be obvious from the disassembly.
      
      Update #19184
      
      Change-Id: If5556a5183f344d719ec7197aa935a0166061e6f
      Reviewed-on: https://go-review.googlesource.com/37255Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      1eed80f0
    • Brad Fitzpatrick's avatar
      net/http: deflake TestClientRedirect308NoGetBody · ffe923f6
      Brad Fitzpatrick authored
      In an unrelated CL I found a way to increase the likelihood of latent
      flaky tests and found this one.
      
      This is just like yesterday's https://golang.org/cl/37624 and dozens
      before it (all remnants from the great net/http test parallelization
      of Nov 2016 in https://golang.org/cl/32684).
      
      Change-Id: I3fe61d1645062e5109206ff27d74f573ef6ebb2e
      Reviewed-on: https://go-review.googlesource.com/37627
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      ffe923f6
    • Lynn Boger's avatar
      cmd/compile: intrinsify atomics on ppc64x · 95c9583a
      Lynn Boger authored
      This adds the necessary changes so that atomics are treated as
      intrinsics on ppc64x.
      
      The implementations of And8 and Or8 require power8 for
      both ppc64 and ppc64le.  This is a new requirement
      for ppc64.
      
      Fixes #8739
      
      Change-Id: Icb85e2755a49166ee3652668279f6ed5ebbca901
      Reviewed-on: https://go-review.googlesource.com/36832Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      95c9583a
    • Andreas Auernhammer's avatar
      crypto: add BLAKE2b and BLAKE2s hash constants · a6a0b190
      Andreas Auernhammer authored
      Fixes golang/go#19060
      Change-Id: I1844edc3dcccc8d83a11d1145b60b2b92f2658ca
      Reviewed-on: https://go-review.googlesource.com/36876Reviewed-by: 's avatarAdam Langley <agl@golang.org>
      a6a0b190
    • Joe Shaw's avatar
      encoding/pem: refuse extra data on ending line · d271576a
      Joe Shaw authored
      Previously the code didn't check for extra data after the final five
      dashes of the ending line of a PEM block.
      
      Fixes #19147
      Fixes #7042
      
      Change-Id: Idaab2390914a2bed8c2c12b14dfb6d68233fdfec
      Reviewed-on: https://go-review.googlesource.com/37147Reviewed-by: 's avatarAdam Langley <agl@golang.org>
      d271576a
    • Robert Griesemer's avatar
      go/internal/srcimporter: report reimport of incomplete packages · b2a2a605
      Robert Griesemer authored
      See the issue below for details.
      
      For #19337.
      
      Change-Id: I7637dcd4408f1bc4a9b3050a107aadb4de6f950b
      Reviewed-on: https://go-review.googlesource.com/37620Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      b2a2a605
    • Lynn Boger's avatar
      runtime, cmd/go: roll back stale message, test detail · e54bc92a
      Lynn Boger authored
      Some debugging code was recently added to:
      1) provide more detail for the stale reason when it is
      determined that a package is stale
      2) provide file and package time and date information when
      it is determined that runtime.a is stale
      
      This backs out those those debugging messages.
      
      Fixes #19116
      
      Change-Id: I8dd0cbe29324820275b481d8bbb78ff2c5fbc362
      Reviewed-on: https://go-review.googlesource.com/37382
      Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      e54bc92a
    • David du Colombier's avatar
      cmd/vendor/github.com/google/pprof: refresh from upstream · 32bb13ab
      David du Colombier authored
      Updating to commit b1c91b9f8fa7647e4c43c96c50f245df551f7013
      from github.com/google/pprof
      
      Fixes #19342.
      
      Change-Id: Iaaa283cdce3f9bf3e5fe713be7d23c477b579092
      Reviewed-on: https://go-review.googlesource.com/37634
      Run-TryBot: David du Colombier <0intro@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      32bb13ab
    • Lynn Boger's avatar
      cmd/compile: use reg moves for int <-> float conversions on ppc64x · 44053de3
      Lynn Boger authored
      This makes a change in the SSA code generated for OpPPC64Xf2i64
      and OpPPC64Xi2f64 to use register based instructions to convert
      between float and integer.  This will require at least power8.
      Currently the conversion is done by storing to and loading
      from memory, which is more expensive.
      
      This improves some of the math functions:
      
      BenchmarkExp-128                     74.1          66.8          -9.85%
      BenchmarkExpGo-128                   87.4          66.3          -24.14%
      BenchmarkExp2-128                    72.2          64.3          -10.94%
      BenchmarkExp2Go-128                  74.3          65.9          -11.31%
      
      BenchmarkLgamma-128                  51.0          39.7          -22.16%
      BenchmarkLog-128                     42.9          40.6          -5.36%
      BenchmarkLogb-128                    11.5          9.16          -20.35%
      BenchmarkLog1p-128                   38.9          36.2          -6.94%
      
      BenchmarkSin-128                     29.5          23.7          -19.66%
      BenchmarkTan-128                     32.8          27.4          -16.46%
      
      Fixes #18922
      
      Change-Id: I8e1cf14d3880d7cd720dc5188dd174cba1f7fef7
      Reviewed-on: https://go-review.googlesource.com/36725Reviewed-by: 's avatarCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      44053de3
    • Brad Fitzpatrick's avatar
      net/http: fix flaky TestClientRedirect308NoLocation · 3123df34
      Brad Fitzpatrick authored
      This was a t.Parallel test but it was using the global DefaultTransport
      via the global Get func.
      
      Use a private Transport that won't have its CloseIdleConnections etc
      methods called by other tests.
      
      (I hit this flake myself while testing a different change.)
      
      Change-Id: If0665e3e8580ee198f8e5f3079bfaea55f036eca
      Reviewed-on: https://go-review.googlesource.com/37624
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      3123df34
    • Kevin Burke's avatar
      os: add OpenFile example for appending data · 6d32b1a3
      Kevin Burke authored
      Fixes #19329.
      
      Change-Id: I6d8bb112a56d751a6d3ea9bd6021803cb9f59234
      Reviewed-on: https://go-review.googlesource.com/37619Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      6d32b1a3
    • Josh Bleecher Snyder's avatar
      Revert "cmd/vet/all: remove pprof from the whitelist" · 9bd1cc3f
      Josh Bleecher Snyder authored
      This reverts commit 12b6c181.
      
      Reason for revert: Broke vet builder. #19322 was not fully fixed.
      
      Change-Id: Id85131d4d0b8915480d65e3532da62b769463d70
      Reviewed-on: https://go-review.googlesource.com/37625Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      9bd1cc3f
    • Heschi Kreinick's avatar
      testing: fix Benchmark() to start at 1 iteration, not 100 · 5e90bbcc
      Heschi Kreinick authored
      The run1 call removed in golang.org/cl/36990 was necessary to
      initialize the duration of the benchmark. With it gone, the math in
      launch() starts from 100. This doesn't work out well for second-long
      benchmark methods. Put it back.
      
      Updates #18815
      
      Change-Id: I461f3466c805d0c61124a2974662f7ad45335794
      Reviewed-on: https://go-review.googlesource.com/37530
      Run-TryBot: Heschi Kreinick <heschi@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMarcel van Lohuizen <mpvl@golang.org>
      5e90bbcc
    • Alex Brainman's avatar
      cmd/link: write dwarf sections · 29f06196
      Alex Brainman authored
      Also stop skipping TestExternalLinkerDWARF and
      TestDefaultLinkerDWARF.
      
      Fixes #10776.
      
      Change-Id: Ia596a684132e3cdee59ce5539293eedc1752fe5a
      Reviewed-on: https://go-review.googlesource.com/36983Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      29f06196
    • Alex Brainman's avatar
      cmd/link: write dwarf relocations · aada4903
      Alex Brainman authored
      For #10776.
      
      Change-Id: I11dd441d8e5d6316889ffa8418df8b58c57c677d
      Reviewed-on: https://go-review.googlesource.com/36982Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      aada4903
    • Ian Lance Taylor's avatar
      os: don't use waitid on Darwin · 15442178
      Ian Lance Taylor authored
      According to issue #19314 waitid on Darwin returns if the process is
      stopped, even though we specify WEXITED.
      
      Fixes #19314.
      
      Change-Id: I95faf196c11e43b7741efff79351bab45c811bc2
      Reviewed-on: https://go-review.googlesource.com/37610
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      15442178
    • Dave Cheney's avatar
      cmd/compile/internal/ssa: remove unused PrintFunc variable · d945b286
      Dave Cheney authored
      Change-Id: I8c581eec77beacaddc0aac29e7d380a4d5ca8acc
      Reviewed-on: https://go-review.googlesource.com/37551
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      d945b286
    • Robert Griesemer's avatar
      go/internal/srcimporter: parse files concurrently (fixes TODO) · c861a4c7
      Robert Griesemer authored
      Passes go test -race.
      
      Change-Id: I14b5b1b1a8ad1e43d60013823d71d78a6519581f
      Reviewed-on: https://go-review.googlesource.com/37588
      Run-TryBot: Robert Griesemer <gri@golang.org>
      Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      c861a4c7
    • Matthew Dempsky's avatar
      cmd/compile/internal/gc: separate builtin and real runtime packages · b6c600fc
      Matthew Dempsky authored
      The builtin runtime package definitions intentionally diverge from the
      actual runtime package's, but this only works as long as they never
      overlap.
      
      To make it easier to expand the builtin runtime package, this CL now
      loads their definitions into a logically separate "go.runtime"
      package.  By resetting the package's Prefix field to "runtime", any
      references to builtin definitions will still resolve against the real
      package runtime.
      
      Fixes #14482.
      
      Passes toolstash -cmp.
      
      Change-Id: I539c0994deaed4506a331f38c5b4d6bc8c95433f
      Reviewed-on: https://go-review.googlesource.com/37538
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      b6c600fc
    • Brad Fitzpatrick's avatar
      cmd/vet/all: remove pprof from the whitelist · 12b6c181
      Brad Fitzpatrick authored
      Updates #19322
      
      Change-Id: I610f40d874f499e52db3356a3da54538dac55242
      Reviewed-on: https://go-review.googlesource.com/37618
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      12b6c181
    • Josh Bleecher Snyder's avatar
      cmd/compile: recognize bit test patterns on amd64 · 21831355
      Josh Bleecher Snyder authored
      Updates #18943
      
      Change-Id: If3080d6133bb6d2710b57294da24c90251ab4e08
      Reviewed-on: https://go-review.googlesource.com/36329
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      21831355
    • Heschi Kreinick's avatar
      cmd/compile, cmd/asm: remove Link.Plists · ac7761e1
      Heschi Kreinick authored
      Link.Plists never contained more than one Plist, and sometimes none.
      Passing around the Plist being worked on is straightforward and makes
      the data flow easier to follow.
      
      Change-Id: I79cb30cb2bd3d319fdbb1dfa5d35b27fcb748e5c
      Reviewed-on: https://go-review.googlesource.com/37169
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      ac7761e1
    • Raul Silvera's avatar
      cmd/vendor/github.com/google/pprof: refresh from upstream · ac4a8652
      Raul Silvera authored
      Updating to commit e41fb7133e7ebb84ba6af2f6443032c728db26d3
      from github.com/google/pprof
      
      This fixes #19322
      
      Change-Id: Ia1c008a09f46ed19ef176046e38868eacb715682
      Reviewed-on: https://go-review.googlesource.com/37617Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      ac4a8652
    • Robert Griesemer's avatar
      compress/flate: use math/bits.Reverse8/16 instead of local implementation · bca03206
      Robert Griesemer authored
      No measurable impact on performance (specifically, no degradation).
      Reverse is used in Huffman en/de-coding. For completeness, here are
      all the speed-related benchmark results:
      
      name                             old time/op    new time/op    delta
      Decode/Digits/Huffman/1e4-8         181µs ± 0%     178µs ± 1%   ~             (p=0.100 n=3+3)
      Decode/Digits/Huffman/1e5-8        1.60ms ± 3%    1.56ms ± 3%   ~             (p=0.400 n=3+3)
      Decode/Digits/Huffman/1e6-8        15.7ms ± 1%    15.3ms ± 3%   ~             (p=0.700 n=3+3)
      Decode/Digits/Speed/1e4-8           179µs ± 0%     180µs ± 0%   ~             (p=0.200 n=3+3)
      Decode/Digits/Speed/1e5-8          1.68ms ± 0%    1.66ms ± 3%   ~             (p=0.700 n=3+3)
      Decode/Digits/Speed/1e6-8          16.6ms ± 2%    16.6ms ± 5%   ~             (p=0.700 n=3+3)
      Decode/Digits/Default/1e4-8         179µs ± 1%     178µs ± 1%   ~             (p=0.700 n=3+3)
      Decode/Digits/Default/1e5-8        1.62ms ± 3%    1.62ms ± 4%   ~             (p=1.000 n=3+3)
      Decode/Digits/Default/1e6-8        16.0ms ± 2%    16.0ms ± 3%   ~             (p=1.000 n=3+3)
      Decode/Digits/Compression/1e4-8     179µs ± 1%     179µs ± 0%   ~             (p=0.200 n=3+3)
      Decode/Digits/Compression/1e5-8    1.62ms ± 2%    1.62ms ± 3%   ~             (p=1.000 n=3+3)
      Decode/Digits/Compression/1e6-8    16.1ms ± 3%    16.0ms ± 3%   ~             (p=1.000 n=3+3)
      Decode/Twain/Huffman/1e4-8          205µs ± 2%     207µs ± 1%   ~             (p=1.000 n=3+3)
      Decode/Twain/Huffman/1e5-8         1.77ms ± 2%    1.77ms ± 4%   ~             (p=0.700 n=3+3)
      Decode/Twain/Huffman/1e6-8         17.4ms ± 2%    17.4ms ± 3%   ~             (p=1.000 n=3+3)
      Decode/Twain/Speed/1e4-8            186µs ± 1%     186µs ± 1%   ~             (p=0.400 n=3+3)
      Decode/Twain/Speed/1e5-8           1.53ms ± 2%    1.52ms ± 0%   ~             (p=0.700 n=3+3)
      Decode/Twain/Speed/1e6-8           14.9ms ± 1%    14.8ms ± 1%   ~             (p=1.000 n=3+3)
      Decode/Twain/Default/1e4-8          176µs ± 1%     174µs ± 0%   ~             (p=0.200 n=3+3)
      Decode/Twain/Default/1e5-8         1.30ms ± 2%    1.31ms ± 1%   ~             (p=0.700 n=3+3)
      Decode/Twain/Default/1e6-8         12.6ms ± 3%    12.5ms ± 0%   ~             (p=0.700 n=3+3)
      Decode/Twain/Compression/1e4-8      177µs ± 0%     174µs ± 1%   ~             (p=0.100 n=3+3)
      Decode/Twain/Compression/1e5-8     1.30ms ± 1%    1.31ms ± 0%   ~             (p=0.700 n=3+3)
      Decode/Twain/Compression/1e6-8     12.5ms ± 1%    12.5ms ± 1%   ~             (p=1.000 n=3+3)
      Encode/Digits/Huffman/1e4-8        47.4µs ± 1%    46.5µs ± 0%   ~             (p=0.100 n=3+3)
      Encode/Digits/Huffman/1e5-8         453µs ± 2%     446µs ± 1%   ~             (p=0.700 n=3+3)
      Encode/Digits/Huffman/1e6-8        4.44ms ± 3%    4.39ms ± 0%   ~             (p=1.000 n=3+3)
      Encode/Digits/Speed/1e4-8           190µs ± 4%     185µs ± 0%   ~             (p=0.100 n=3+3)
      Encode/Digits/Speed/1e5-8          1.78ms ± 5%    1.75ms ± 1%   ~             (p=1.000 n=3+3)
      Encode/Digits/Speed/1e6-8          17.9ms ± 7%    17.3ms ± 1%   ~             (p=0.400 n=3+3)
      Encode/Digits/Default/1e4-8         366µs ± 1%     361µs ± 0%   ~             (p=0.200 n=3+3)
      Encode/Digits/Default/1e5-8        5.58ms ± 5%    5.44ms ± 1%   ~             (p=0.400 n=3+3)
      Encode/Digits/Default/1e6-8        59.0ms ± 3%    58.2ms ± 1%   ~             (p=0.700 n=3+3)
      Encode/Digits/Compression/1e4-8     369µs ± 3%     362µs ± 0%   ~             (p=0.100 n=3+3)
      Encode/Digits/Compression/1e5-8    5.50ms ± 2%    5.47ms ± 1%   ~             (p=1.000 n=3+3)
      Encode/Digits/Compression/1e6-8    59.4ms ± 2%    58.5ms ± 1%   ~             (p=0.400 n=3+3)
      Encode/Twain/Huffman/1e4-8         64.4µs ± 3%    64.7µs ± 1%   ~             (p=0.700 n=3+3)
      Encode/Twain/Huffman/1e5-8          526µs ± 1%     526µs ± 2%   ~             (p=1.000 n=3+3)
      Encode/Twain/Huffman/1e6-8         5.18ms ± 2%    5.17ms ± 1%   ~             (p=0.700 n=3+3)
      Encode/Twain/Speed/1e4-8            206µs ± 1%     204µs ± 0%   ~             (p=0.100 n=3+3)
      Encode/Twain/Speed/1e5-8           1.73ms ± 2%    1.70ms ± 0%   ~             (p=0.100 n=3+3)
      Encode/Twain/Speed/1e6-8           16.7ms ± 0%    16.7ms ± 1%   ~             (p=1.000 n=3+3)
      Encode/Twain/Default/1e4-8          423µs ± 3%     418µs ± 1%   ~             (p=1.000 n=3+3)
      Encode/Twain/Default/1e5-8         6.34ms ± 4%    6.23ms ± 0%   ~             (p=1.000 n=3+3)
      Encode/Twain/Default/1e6-8         68.0ms ± 3%    67.5ms ± 0%   ~             (p=0.700 n=3+3)
      Encode/Twain/Compression/1e4-8      435µs ± 3%     424µs ± 0%   ~             (p=0.700 n=3+3)
      Encode/Twain/Compression/1e5-8     7.01ms ± 1%    6.92ms ± 0%   ~             (p=0.100 n=3+3)
      Encode/Twain/Compression/1e6-8     77.1ms ± 4%    75.5ms ± 1%   ~             (p=0.400 n=3+3)
      
      name                             old speed      new speed      delta
      Decode/Digits/Huffman/1e4-8      55.2MB/s ± 0%  56.2MB/s ± 1%   ~             (p=0.100 n=3+3)
      Decode/Digits/Huffman/1e5-8      62.4MB/s ± 3%  64.1MB/s ± 3%   ~             (p=0.400 n=3+3)
      Decode/Digits/Huffman/1e6-8      63.8MB/s ± 1%  65.3MB/s ± 3%   ~             (p=0.700 n=3+3)
      Decode/Digits/Speed/1e4-8        55.8MB/s ± 0%  55.4MB/s ± 0%   ~             (p=0.200 n=3+3)
      Decode/Digits/Speed/1e5-8        59.6MB/s ± 0%  60.3MB/s ± 3%   ~             (p=0.700 n=3+3)
      Decode/Digits/Speed/1e6-8        60.1MB/s ± 2%  60.3MB/s ± 4%   ~             (p=0.700 n=3+3)
      Decode/Digits/Default/1e4-8      55.8MB/s ± 1%  56.1MB/s ± 1%   ~             (p=0.700 n=3+3)
      Decode/Digits/Default/1e5-8      61.8MB/s ± 3%  61.7MB/s ± 4%   ~             (p=1.000 n=3+3)
      Decode/Digits/Default/1e6-8      62.4MB/s ± 2%  62.4MB/s ± 3%   ~             (p=1.000 n=3+3)
      Decode/Digits/Compression/1e4-8  55.7MB/s ± 1%  56.0MB/s ± 0%   ~             (p=0.300 n=3+3)
      Decode/Digits/Compression/1e5-8  61.7MB/s ± 2%  61.9MB/s ± 3%   ~             (p=1.000 n=3+3)
      Decode/Digits/Compression/1e6-8  62.2MB/s ± 3%  62.6MB/s ± 3%   ~             (p=1.000 n=3+3)
      Decode/Twain/Huffman/1e4-8       48.8MB/s ± 2%  48.4MB/s ± 1%   ~             (p=1.000 n=3+3)
      Decode/Twain/Huffman/1e5-8       56.4MB/s ± 2%  56.6MB/s ± 4%   ~             (p=0.700 n=3+3)
      Decode/Twain/Huffman/1e6-8       57.6MB/s ± 2%  57.5MB/s ± 3%   ~             (p=1.000 n=3+3)
      Decode/Twain/Speed/1e4-8         53.7MB/s ± 1%  53.9MB/s ± 1%   ~             (p=0.400 n=3+3)
      Decode/Twain/Speed/1e5-8         65.5MB/s ± 2%  65.6MB/s ± 0%   ~             (p=0.700 n=3+3)
      Decode/Twain/Speed/1e6-8         66.9MB/s ± 1%  67.4MB/s ± 1%   ~             (p=1.000 n=3+3)
      Decode/Twain/Default/1e4-8       56.9MB/s ± 1%  57.3MB/s ± 0%   ~             (p=0.200 n=3+3)
      Decode/Twain/Default/1e5-8       77.2MB/s ± 2%  76.6MB/s ± 1%   ~             (p=0.700 n=3+3)
      Decode/Twain/Default/1e6-8       79.3MB/s ± 3%  80.0MB/s ± 0%   ~             (p=0.700 n=3+3)
      Decode/Twain/Compression/1e4-8   56.4MB/s ± 0%  57.5MB/s ± 1%   ~             (p=0.100 n=3+3)
      Decode/Twain/Compression/1e5-8   76.8MB/s ± 1%  76.5MB/s ± 0%   ~             (p=0.700 n=3+3)
      Decode/Twain/Compression/1e6-8   80.1MB/s ± 1%  79.8MB/s ± 1%   ~             (p=1.000 n=3+3)
      Encode/Digits/Huffman/1e4-8       211MB/s ± 1%   215MB/s ± 0%   ~             (p=0.100 n=3+3)
      Encode/Digits/Huffman/1e5-8       221MB/s ± 2%   224MB/s ± 1%   ~             (p=0.700 n=3+3)
      Encode/Digits/Huffman/1e6-8       225MB/s ± 3%   228MB/s ± 0%   ~             (p=1.000 n=3+3)
      Encode/Digits/Speed/1e4-8        52.8MB/s ± 4%  54.1MB/s ± 0%   ~             (p=0.100 n=3+3)
      Encode/Digits/Speed/1e5-8        56.2MB/s ± 5%  57.0MB/s ± 1%   ~             (p=1.000 n=3+3)
      Encode/Digits/Speed/1e6-8        56.0MB/s ± 6%  57.7MB/s ± 1%   ~             (p=0.400 n=3+3)
      Encode/Digits/Default/1e4-8      27.3MB/s ± 1%  27.7MB/s ± 0%   ~             (p=0.200 n=3+3)
      Encode/Digits/Default/1e5-8      17.9MB/s ± 4%  18.4MB/s ± 1%   ~             (p=0.400 n=3+3)
      Encode/Digits/Default/1e6-8      17.0MB/s ± 3%  17.2MB/s ± 1%   ~             (p=0.500 n=3+3)
      Encode/Digits/Compression/1e4-8  27.1MB/s ± 3%  27.6MB/s ± 0%   ~             (p=0.100 n=3+3)
      Encode/Digits/Compression/1e5-8  18.2MB/s ± 2%  18.3MB/s ± 1%   ~             (p=1.000 n=3+3)
      Encode/Digits/Compression/1e6-8  16.9MB/s ± 2%  17.1MB/s ± 1%   ~             (p=0.400 n=3+3)
      Encode/Twain/Huffman/1e4-8        155MB/s ± 3%   155MB/s ± 1%   ~             (p=0.700 n=3+3)
      Encode/Twain/Huffman/1e5-8        190MB/s ± 1%   190MB/s ± 2%   ~             (p=1.000 n=3+3)
      Encode/Twain/Huffman/1e6-8        193MB/s ± 2%   193MB/s ± 1%   ~             (p=0.700 n=3+3)
      Encode/Twain/Speed/1e4-8         48.5MB/s ± 1%  49.1MB/s ± 0%   ~             (p=0.100 n=3+3)
      Encode/Twain/Speed/1e5-8         57.7MB/s ± 2%  59.0MB/s ± 0%   ~             (p=0.100 n=3+3)
      Encode/Twain/Speed/1e6-8         59.7MB/s ± 0%  59.7MB/s ± 1%   ~             (p=1.000 n=3+3)
      Encode/Twain/Default/1e4-8       23.6MB/s ± 3%  23.9MB/s ± 1%   ~             (p=1.000 n=3+3)
      Encode/Twain/Default/1e5-8       15.8MB/s ± 4%  16.1MB/s ± 0%   ~             (p=1.000 n=3+3)
      Encode/Twain/Default/1e6-8       14.7MB/s ± 3%  14.8MB/s ± 0%   ~             (p=0.700 n=3+3)
      Encode/Twain/Compression/1e4-8   23.0MB/s ± 3%  23.6MB/s ± 0%   ~             (p=0.700 n=3+3)
      Encode/Twain/Compression/1e5-8   14.3MB/s ± 1%  14.5MB/s ± 0%   ~             (p=0.100 n=3+3)
      Encode/Twain/Compression/1e6-8   13.0MB/s ± 4%  13.2MB/s ± 1%   ~             (p=0.400 n=3+3)
      
      Measured on a "quiet" (no browser running) 2.3 GHz Intel Core i7, running macOS 10.12.3.
      
      See also #19279.
      
      Change-Id: Ice759eb34eb37442b543957447c264e0aadc1fa9
      Reviewed-on: https://go-review.googlesource.com/37460
      Run-TryBot: Robert Griesemer <gri@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      bca03206
  3. 28 Feb, 2017 5 commits