1. 29 Nov, 2018 19 commits
  2. 28 Nov, 2018 16 commits
    • Lynn Boger's avatar
      cmd/asm,cmd/internal/obj/ppc64: add VPERMXOR to ppc64 assembler · 048580d3
      Lynn Boger authored
      VPERMXOR is missing from the Go assembler for ppc64. It has the
      same format as VPERM. It was requested by an external user so
      they could write an optimized algorithm in asm.
      
      Change-Id: Icf4c682f7f46716ccae64e6ae3d62e8cec67f6c1
      Reviewed-on: https://go-review.googlesource.com/c/151578
      Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
      048580d3
    • Meng Zhuo's avatar
      net/http: prevent transport sends two "Connection: close" headers · 9aadbf57
      Meng Zhuo authored
      There are three functions that do Connection header write:
      1. transport.go/ persistConn.roundTrip
      2. transfer.go/ transferWriter.writeHeader
      3. request.go/ Request.write
      
      The root cause is roundTrip didn't lookup into request.Close and
      transferWriter
      didn't take care of extraHeaders.
      
      Fixes #28886
      
      Change-Id: I1d131019c7cd42eb1bcc972c631b7df7511c1f39
      Reviewed-on: https://go-review.googlesource.com/c/150722
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      9aadbf57
    • Keith Randall's avatar
      cmd/compile: ensure S390X moves don't overflow int32 · 4f15b547
      Keith Randall authored
      Break ADDconst into ADD + MOVDconst, so that if the constant
      is too big it won't overflow ADDconst's constant field.
      
      For normal sizes, other rules will recombine into an ADDconst.
      
      Fixes S390X breakage from CL 33909.
      
      Change-Id: Id804ee052365527efb580f797688b0ce83c47915
      Reviewed-on: https://go-review.googlesource.com/c/151597
      Run-TryBot: Keith Randall <khr@golang.org>
      Reviewed-by: default avatarMichael Munday <mike.munday@ibm.com>
      4f15b547
    • James Craig Burley's avatar
      doc: fix typo in FAQ · 96d41786
      James Craig Burley authored
      Change-Id: I956d6d1dbf8516cb65eb3a0686a3b0584b4a6840
      GitHub-Last-Rev: 1c928f3c67eceae424cbcd6b0935605a78728604
      GitHub-Pull-Request: golang/go#28991
      Reviewed-on: https://go-review.googlesource.com/c/151324Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      96d41786
    • Tobias Klauser's avatar
      plugin: fix build constraint to disable test on linux/arm64 · 2d4bd3db
      Tobias Klauser authored
      CL 151478 was suppose to fix the build failure on linux/arm64 but the
      build constraint didn't exclude linux/arm64 properly.
      
      Fixes #28982
      
      Change-Id: Ia80265b0adba0384cd28bc2deb1726418664975a
      Reviewed-on: https://go-review.googlesource.com/c/151303
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarAndrew Bonventre <andybons@golang.org>
      2d4bd3db
    • Josh Bleecher Snyder's avatar
      math/big: allocate less for single-Word nats · bfc54bb6
      Josh Bleecher Snyder authored
      For many uses of math/big, most numbers are small in practice.
      Prior to this change, big.NewInt allocated a minimum of five Words:
      one to hold the value, and four as extra capacity.
      In most cases, this extra capacity is waste.
      Worse, allocating a single Word uses a fast malloc path for tiny allocs;
      allocating five Words is more expensive in CPU as well as memory.
      
      This change is a simple fix: Treat a request for one Word at its word.
      I experimented with more complicated fixes and did not find anything
      that outperformed this easy fix.
      
      On some real world programs, this is a clear win.
      
      The compiler:
      
      name        old alloc/op      new alloc/op      delta
      Template         37.1MB ± 0%       37.0MB ± 0%  -0.23%  (p=0.008 n=5+5)
      Unicode          29.2MB ± 0%       28.5MB ± 0%  -2.48%  (p=0.008 n=5+5)
      GoTypes           133MB ± 0%        133MB ± 0%  -0.05%  (p=0.008 n=5+5)
      Compiler          628MB ± 0%        628MB ± 0%  -0.06%  (p=0.008 n=5+5)
      SSA              2.04GB ± 0%       2.03GB ± 0%  -0.14%  (p=0.008 n=5+5)
      Flate            24.7MB ± 0%       24.6MB ± 0%  -0.23%  (p=0.008 n=5+5)
      GoParser         29.6MB ± 0%       29.6MB ± 0%  -0.07%  (p=0.008 n=5+5)
      Reflect          82.3MB ± 0%       82.2MB ± 0%  -0.05%  (p=0.008 n=5+5)
      Tar              36.2MB ± 0%       36.2MB ± 0%  -0.12%  (p=0.008 n=5+5)
      XML              49.5MB ± 0%       49.4MB ± 0%  -0.23%  (p=0.008 n=5+5)
      [Geo mean]       85.1MB            84.8MB       -0.37%
      
      name        old allocs/op     new allocs/op     delta
      Template           364k ± 0%         364k ± 0%    ~     (p=0.476 n=5+5)
      Unicode            341k ± 0%         341k ± 0%    ~     (p=0.690 n=5+5)
      GoTypes           1.37M ± 0%        1.37M ± 0%    ~     (p=0.444 n=5+5)
      Compiler          5.50M ± 0%        5.50M ± 0%  +0.02%  (p=0.008 n=5+5)
      SSA               16.0M ± 0%        16.0M ± 0%  +0.01%  (p=0.008 n=5+5)
      Flate              238k ± 0%         238k ± 0%    ~     (p=0.222 n=5+5)
      GoParser           305k ± 0%         305k ± 0%    ~     (p=0.841 n=5+5)
      Reflect            976k ± 0%         976k ± 0%    ~     (p=0.222 n=5+5)
      Tar                354k ± 0%         354k ± 0%    ~     (p=0.103 n=5+5)
      XML                450k ± 0%         450k ± 0%    ~     (p=0.151 n=5+5)
      [Geo mean]         837k              837k       +0.01%
      
      go.skylark.net (at ea6d2813de75ded8d157b9540bc3d3ad0b688623):
      
      name                     old alloc/op   new alloc/op   delta
      Hashtable-8                 456kB ± 0%     299kB ± 0%  -34.33%  (p=0.000 n=9+9)
      /bench_builtin_method-8     220kB ± 0%     190kB ± 0%  -13.55%  (p=0.000 n=9+10)
      
      name                     old allocs/op  new allocs/op  delta
      Hashtable-8                 7.84k ± 0%     7.84k ± 0%     ~     (all equal)
      /bench_builtin_method-8     7.49k ± 0%     7.49k ± 0%     ~     (all equal)
      
      The math/big benchmarks are messy, which is predictable, since they
      naturally exercise the bigger-than-one-word code more.
      Also worth noting is that many of the benchmarks have very high variance.
      I've omitted the opVV and opVW benchmarks, as they are unrelated.
      
      name                              old time/op    new time/op    delta
      DecimalConversion-8                 92.5µs ± 1%    90.6µs ± 0%   -2.12%  (p=0.000 n=17+19)
      FloatString/100-8                    867ns ± 0%     871ns ± 0%   +0.50%  (p=0.000 n=18+18)
      FloatString/1000-8                  26.4µs ± 1%    26.5µs ± 1%     ~     (p=0.396 n=20+19)
      FloatString/10000-8                 2.15ms ± 2%    2.16ms ± 2%     ~     (p=0.089 n=19+20)
      FloatString/100000-8                 209ms ± 1%     209ms ± 1%     ~     (p=0.583 n=19+19)
      FloatAdd/10-8                       63.5ns ± 2%    64.1ns ± 6%     ~     (p=0.389 n=19+19)
      FloatAdd/100-8                      66.0ns ± 2%    65.8ns ± 2%     ~     (p=0.825 n=20+20)
      FloatAdd/1000-8                     93.9ns ± 1%    94.3ns ± 1%     ~     (p=0.273 n=19+20)
      FloatAdd/10000-8                     347ns ± 2%     342ns ± 1%   -1.50%  (p=0.000 n=18+18)
      FloatAdd/100000-8                   2.78µs ± 1%    2.78µs ± 2%     ~     (p=0.961 n=20+19)
      FloatSub/10-8                       56.9ns ± 2%    57.8ns ± 3%   +1.59%  (p=0.001 n=19+19)
      FloatSub/100-8                      58.2ns ± 2%    58.9ns ± 2%   +1.25%  (p=0.004 n=20+20)
      FloatSub/1000-8                     74.9ns ± 1%    74.4ns ± 1%   -0.76%  (p=0.000 n=19+20)
      FloatSub/10000-8                     223ns ± 1%     220ns ± 2%   -1.29%  (p=0.000 n=16+20)
      FloatSub/100000-8                   1.66µs ± 1%    1.66µs ± 2%     ~     (p=0.147 n=20+20)
      ParseFloatSmallExp-8                8.38µs ± 0%    8.59µs ± 0%   +2.48%  (p=0.000 n=19+19)
      ParseFloatLargeExp-8                31.1µs ± 0%    32.0µs ± 0%   +3.04%  (p=0.000 n=16+17)
      GCD10x10/WithoutXY-8                 115ns ± 1%      99ns ± 3%  -14.07%  (p=0.000 n=20+20)
      GCD10x10/WithXY-8                    322ns ± 0%     312ns ± 0%   -3.11%  (p=0.000 n=18+13)
      GCD10x100/WithoutXY-8                233ns ± 1%     219ns ± 1%   -5.73%  (p=0.000 n=19+17)
      GCD10x100/WithXY-8                   709ns ± 0%     759ns ± 0%   +7.04%  (p=0.000 n=19+19)
      GCD10x1000/WithoutXY-8               653ns ± 1%     642ns ± 1%   -1.69%  (p=0.000 n=17+20)
      GCD10x1000/WithXY-8                 1.35µs ± 0%    1.35µs ± 1%     ~     (p=0.255 n=20+16)
      GCD10x10000/WithoutXY-8             4.57µs ± 1%    4.61µs ± 1%   +0.95%  (p=0.000 n=18+17)
      GCD10x10000/WithXY-8                6.82µs ± 0%    6.84µs ± 0%   +0.27%  (p=0.000 n=16+17)
      GCD10x100000/WithoutXY-8            43.9µs ± 1%    44.0µs ± 1%   +0.28%  (p=0.000 n=18+17)
      GCD10x100000/WithXY-8               60.6µs ± 0%    60.6µs ± 0%     ~     (p=0.907 n=18+18)
      GCD100x100/WithoutXY-8              1.13µs ± 0%    1.21µs ± 0%   +6.39%  (p=0.000 n=19+19)
      GCD100x100/WithXY-8                 1.82µs ± 0%    1.92µs ± 0%   +5.24%  (p=0.000 n=19+17)
      GCD100x1000/WithoutXY-8             2.00µs ± 0%    2.03µs ± 1%   +1.61%  (p=0.000 n=18+16)
      GCD100x1000/WithXY-8                3.22µs ± 0%    3.20µs ± 1%   -0.83%  (p=0.000 n=19+19)
      GCD100x10000/WithoutXY-8            9.28µs ± 1%    9.17µs ± 1%   -1.25%  (p=0.000 n=18+19)
      GCD100x10000/WithXY-8               13.5µs ± 0%    13.3µs ± 0%   -1.12%  (p=0.000 n=18+19)
      GCD100x100000/WithoutXY-8           80.4µs ± 0%    78.6µs ± 0%   -2.25%  (p=0.000 n=19+19)
      GCD100x100000/WithXY-8               114µs ± 0%     112µs ± 0%   -1.46%  (p=0.000 n=19+17)
      GCD1000x1000/WithoutXY-8            12.9µs ± 1%    12.9µs ± 2%   -0.50%  (p=0.014 n=20+19)
      GCD1000x1000/WithXY-8               19.6µs ± 1%    19.6µs ± 2%   -0.28%  (p=0.040 n=17+18)
      GCD1000x10000/WithoutXY-8           22.4µs ± 0%    22.4µs ± 2%     ~     (p=0.220 n=19+19)
      GCD1000x10000/WithXY-8              57.0µs ± 0%    56.5µs ± 0%   -0.87%  (p=0.000 n=20+20)
      GCD1000x100000/WithoutXY-8           116µs ± 0%     115µs ± 0%   -0.49%  (p=0.000 n=18+19)
      GCD1000x100000/WithXY-8              410µs ± 0%     411µs ± 0%     ~     (p=0.052 n=19+19)
      GCD10000x10000/WithoutXY-8           247µs ± 1%     244µs ± 1%   -0.92%  (p=0.000 n=19+19)
      GCD10000x10000/WithXY-8              476µs ± 1%     473µs ± 1%   -0.48%  (p=0.009 n=19+19)
      GCD10000x100000/WithoutXY-8          573µs ± 1%     571µs ± 1%   -0.45%  (p=0.012 n=20+20)
      GCD10000x100000/WithXY-8            3.35ms ± 1%    3.35ms ± 1%     ~     (p=0.444 n=20+19)
      GCD100000x100000/WithoutXY-8        12.0ms ± 2%    11.9ms ± 2%     ~     (p=0.276 n=18+20)
      GCD100000x100000/WithXY-8           27.3ms ± 1%    27.3ms ± 1%     ~     (p=0.792 n=20+19)
      Hilbert-8                            672µs ± 0%     611µs ± 0%   -9.02%  (p=0.000 n=19+19)
      Binomial-8                          1.40µs ± 0%    1.18µs ± 0%  -15.69%  (p=0.000 n=16+14)
      QuoRem-8                            2.20µs ± 1%    2.17µs ± 1%   -1.13%  (p=0.000 n=19+19)
      Exp-8                               4.10ms ± 1%    4.11ms ± 1%     ~     (p=0.296 n=20+19)
      Exp2-8                              4.11ms ± 1%    4.12ms ± 1%     ~     (p=0.429 n=20+20)
      Bitset-8                            8.67ns ± 6%    8.74ns ± 4%     ~     (p=0.139 n=19+17)
      BitsetNeg-8                         43.6ns ± 1%    43.8ns ± 2%   +0.61%  (p=0.036 n=20+20)
      BitsetOrig-8                        77.5ns ± 1%    68.4ns ± 1%  -11.77%  (p=0.000 n=19+20)
      BitsetNegOrig-8                      145ns ± 1%     141ns ± 1%   -2.87%  (p=0.000 n=19+20)
      ModSqrt225_Tonelli-8                 324µs ± 1%     324µs ± 1%     ~     (p=0.409 n=18+20)
      ModSqrt225_3Mod4-8                  98.9µs ± 1%    99.1µs ± 1%     ~     (p=0.298 n=19+18)
      ModSqrt231_Tonelli-8                 337µs ± 1%     337µs ± 1%     ~     (p=0.718 n=20+18)
      ModSqrt231_5Mod8-8                   115µs ± 1%     114µs ± 1%   -0.22%  (p=0.050 n=20+20)
      ModInverse-8                         895ns ± 0%     869ns ± 1%   -2.83%  (p=0.000 n=17+17)
      Sqrt-8                              28.1µs ± 1%    28.1µs ± 0%   -0.28%  (p=0.000 n=16+20)
      IntSqr/1-8                          10.8ns ± 3%    10.5ns ± 3%   -2.51%  (p=0.000 n=19+17)
      IntSqr/2-8                          30.5ns ± 2%    30.3ns ± 4%   -0.71%  (p=0.035 n=18+18)
      IntSqr/3-8                          40.1ns ± 1%    40.1ns ± 1%     ~     (p=0.710 n=20+17)
      IntSqr/5-8                          65.3ns ± 1%    65.4ns ± 2%     ~     (p=0.744 n=19+19)
      IntSqr/8-8                           101ns ± 1%     102ns ± 0%     ~     (p=0.234 n=19+20)
      IntSqr/10-8                          138ns ± 0%     138ns ± 2%     ~     (p=0.827 n=18+18)
      IntSqr/20-8                          378ns ± 1%     378ns ± 1%     ~     (p=0.479 n=18+18)
      IntSqr/30-8                          637ns ± 0%     638ns ± 1%     ~     (p=0.051 n=18+20)
      IntSqr/50-8                         1.34µs ± 2%    1.34µs ± 1%     ~     (p=0.970 n=18+19)
      IntSqr/80-8                         2.78µs ± 0%    2.78µs ± 1%   -0.18%  (p=0.006 n=19+17)
      IntSqr/100-8                        3.98µs ± 0%    3.98µs ± 0%     ~     (p=0.057 n=17+19)
      IntSqr/200-8                        13.5µs ± 0%    13.5µs ± 1%   -0.33%  (p=0.000 n=19+17)
      IntSqr/300-8                        25.3µs ± 1%    25.3µs ± 1%     ~     (p=0.361 n=19+20)
      IntSqr/500-8                        62.9µs ± 0%    62.9µs ± 1%     ~     (p=0.899 n=17+17)
      IntSqr/800-8                         128µs ± 1%     127µs ± 1%   -0.32%  (p=0.016 n=18+20)
      IntSqr/1000-8                        192µs ± 0%     192µs ± 1%     ~     (p=0.916 n=17+18)
      Div/20/10-8                         34.9ns ± 2%    35.6ns ± 1%   +2.01%  (p=0.000 n=20+20)
      Div/200/100-8                        218ns ± 1%     215ns ± 2%   -1.43%  (p=0.000 n=18+18)
      Div/2000/1000-8                     1.16µs ± 1%    1.15µs ± 1%   -1.04%  (p=0.000 n=19+20)
      Div/20000/10000-8                   35.7µs ± 1%    35.4µs ± 1%   -0.69%  (p=0.000 n=19+18)
      Div/200000/100000-8                 2.89ms ± 1%    2.88ms ± 1%   -0.62%  (p=0.007 n=19+20)
      Mul-8                               9.28ms ± 1%    9.27ms ± 1%     ~     (p=0.563 n=18+18)
      ZeroShifts/Shl-8                     712ns ± 6%     716ns ± 7%     ~     (p=0.597 n=20+20)
      ZeroShifts/ShlSame-8                4.00ns ± 1%    4.06ns ± 5%     ~     (p=0.162 n=18+20)
      ZeroShifts/Shr-8                     714ns ±10%   1285ns ±156%     ~     (p=0.250 n=20+20)
      ZeroShifts/ShrSame-8                4.00ns ± 1%    4.09ns ±10%   +2.34%  (p=0.048 n=16+19)
      Exp3Power/0x10-8                     154ns ± 0%     159ns ±13%     ~     (p=0.197 n=14+20)
      Exp3Power/0x40-8                     171ns ± 1%     175ns ± 8%     ~     (p=0.058 n=16+19)
      Exp3Power/0x100-8                    287ns ± 0%     316ns ± 4%  +10.03%  (p=0.000 n=17+19)
      Exp3Power/0x400-8                    698ns ± 1%     801ns ± 6%  +14.75%  (p=0.000 n=19+20)
      Exp3Power/0x1000-8                  2.87µs ± 0%    3.65µs ± 6%  +27.24%  (p=0.000 n=18+18)
      Exp3Power/0x4000-8                  21.9µs ± 1%    28.7µs ± 8%  +31.09%  (p=0.000 n=18+20)
      Exp3Power/0x10000-8                  204µs ± 0%     267µs ± 9%  +30.81%  (p=0.000 n=20+20)
      Exp3Power/0x40000-8                 1.86ms ± 0%    2.26ms ± 5%  +21.68%  (p=0.000 n=18+19)
      Exp3Power/0x100000-8                17.5ms ± 1%    20.7ms ± 7%  +18.39%  (p=0.000 n=19+20)
      Exp3Power/0x400000-8                 156ms ± 0%     172ms ± 6%  +10.54%  (p=0.000 n=19+20)
      Fibo-8                              26.9ms ± 1%    27.5ms ± 3%   +2.32%  (p=0.000 n=19+19)
      NatSqr/1-8                          31.0ns ± 4%    39.5ns ±29%  +27.25%  (p=0.000 n=20+19)
      NatSqr/2-8                          54.1ns ± 1%    69.0ns ±28%  +27.52%  (p=0.000 n=20+20)
      NatSqr/3-8                          66.6ns ± 1%    83.0ns ±25%  +24.59%  (p=0.000 n=20+20)
      NatSqr/5-8                          97.1ns ± 1%   119.9ns ±12%  +23.50%  (p=0.000 n=16+20)
      NatSqr/8-8                           138ns ± 1%     171ns ± 9%  +24.20%  (p=0.000 n=19+20)
      NatSqr/10-8                          182ns ± 0%     225ns ± 9%  +23.50%  (p=0.000 n=16+20)
      NatSqr/20-8                          447ns ± 1%     624ns ± 6%  +39.64%  (p=0.000 n=19+19)
      NatSqr/30-8                          736ns ± 2%     986ns ± 9%  +33.94%  (p=0.000 n=19+20)
      NatSqr/50-8                         1.51µs ± 2%    1.97µs ± 9%  +30.42%  (p=0.000 n=20+20)
      NatSqr/80-8                         3.03µs ± 1%    3.67µs ± 7%  +21.08%  (p=0.000 n=20+20)
      NatSqr/100-8                        4.31µs ± 1%    5.20µs ± 7%  +20.52%  (p=0.000 n=19+20)
      NatSqr/200-8                        14.2µs ± 0%    16.3µs ± 4%  +14.92%  (p=0.000 n=19+20)
      NatSqr/300-8                        27.8µs ± 1%    33.2µs ± 7%  +19.28%  (p=0.000 n=20+18)
      NatSqr/500-8                        66.6µs ± 1%    74.5µs ± 3%  +11.87%  (p=0.000 n=18+18)
      NatSqr/800-8                         135µs ± 1%     165µs ± 7%  +22.33%  (p=0.000 n=20+20)
      NatSqr/1000-8                        200µs ± 0%     228µs ± 3%  +14.39%  (p=0.000 n=19+20)
      NatSetBytes/8-8                     8.87ns ± 4%    8.77ns ± 2%   -1.17%  (p=0.020 n=20+16)
      NatSetBytes/24-8                    38.6ns ± 3%    49.5ns ±29%  +28.32%  (p=0.000 n=18+19)
      NatSetBytes/128-8                   75.2ns ± 1%   120.7ns ±29%  +60.60%  (p=0.000 n=17+20)
      NatSetBytes/7-8                     16.2ns ± 2%    16.5ns ± 2%   +1.76%  (p=0.000 n=20+20)
      NatSetBytes/23-8                    46.5ns ± 1%    60.2ns ±24%  +29.59%  (p=0.000 n=20+20)
      NatSetBytes/127-8                   83.1ns ± 1%   118.2ns ±20%  +42.33%  (p=0.000 n=18+20)
      ScanPi-8                            89.1µs ± 1%   117.4µs ±12%  +31.75%  (p=0.000 n=18+20)
      StringPiParallel-8                  35.1µs ± 9%    40.2µs ±12%  +14.53%  (p=0.000 n=20+20)
      Scan/10/Base2-8                      410ns ±14%     429ns ±10%   +4.47%  (p=0.018 n=19+20)
      Scan/100/Base2-8                    3.05µs ±20%    2.97µs ±14%     ~     (p=0.449 n=20+20)
      Scan/1000/Base2-8                   29.3µs ± 8%    30.1µs ±23%     ~     (p=0.355 n=20+20)
      Scan/10000/Base2-8                   402µs ±13%     395µs ±14%     ~     (p=0.355 n=20+20)
      Scan/100000/Base2-8                 11.8ms ±10%    11.6ms ± 1%     ~     (p=0.245 n=17+18)
      Scan/10/Base8-8                      194ns ± 6%     196ns ±12%     ~     (p=0.829 n=20+19)
      Scan/100/Base8-8                    1.11µs ±15%    1.11µs ±12%     ~     (p=0.743 n=20+20)
      Scan/1000/Base8-8                   11.7µs ±10%    11.7µs ±12%     ~     (p=0.904 n=20+20)
      Scan/10000/Base8-8                   209µs ± 7%     210µs ± 8%     ~     (p=0.478 n=20+20)
      Scan/100000/Base8-8                 10.6ms ± 7%    10.4ms ± 6%     ~     (p=0.112 n=20+18)
      Scan/10/Base10-8                     182ns ±12%     188ns ±11%   +3.52%  (p=0.044 n=20+20)
      Scan/100/Base10-8                   1.01µs ± 8%    1.00µs ±13%     ~     (p=0.588 n=20+20)
      Scan/1000/Base10-8                  10.7µs ±20%    10.6µs ±14%     ~     (p=0.560 n=20+20)
      Scan/10000/Base10-8                  195µs ±10%     194µs ± 9%     ~     (p=0.883 n=20+20)
      Scan/100000/Base10-8                10.6ms ± 2%    10.6ms ± 2%     ~     (p=0.495 n=20+20)
      Scan/10/Base16-8                     166ns ±10%     174ns ±17%     ~     (p=0.072 n=20+20)
      Scan/100/Base16-8                    836ns ±10%     826ns ±12%     ~     (p=0.562 n=20+17)
      Scan/1000/Base16-8                  8.96µs ±13%    8.65µs ± 9%     ~     (p=0.203 n=20+18)
      Scan/10000/Base16-8                  198µs ± 3%     198µs ± 5%     ~     (p=0.718 n=20+20)
      Scan/100000/Base16-8                11.1ms ± 3%    11.0ms ± 4%     ~     (p=0.512 n=20+20)
      String/10/Base2-8                   88.1ns ± 7%    94.1ns ±11%   +6.80%  (p=0.000 n=19+20)
      String/100/Base2-8                   577ns ± 4%     598ns ± 5%   +3.72%  (p=0.000 n=20+20)
      String/1000/Base2-8                 5.25µs ± 2%    5.62µs ± 5%   +7.04%  (p=0.000 n=19+20)
      String/10000/Base2-8                55.6µs ± 1%    60.1µs ± 2%   +8.12%  (p=0.000 n=19+19)
      String/100000/Base2-8                519µs ± 2%     560µs ± 2%   +7.91%  (p=0.000 n=18+17)
      String/10/Base8-8                   52.2ns ± 8%    53.3ns ±12%     ~     (p=0.188 n=20+18)
      String/100/Base8-8                   218ns ± 3%     232ns ±10%   +6.66%  (p=0.000 n=20+20)
      String/1000/Base8-8                 1.84µs ± 3%    1.94µs ± 4%   +5.07%  (p=0.000 n=20+18)
      String/10000/Base8-8                18.1µs ± 2%    19.1µs ± 3%   +5.84%  (p=0.000 n=20+19)
      String/100000/Base8-8                184µs ± 2%     197µs ± 1%   +7.15%  (p=0.000 n=19+19)
      String/10/Base10-8                   158ns ± 7%     146ns ± 6%   -7.65%  (p=0.000 n=20+19)
      String/100/Base10-8                  807ns ± 2%     845ns ± 4%   +4.79%  (p=0.000 n=20+19)
      String/1000/Base10-8                3.99µs ± 3%    3.99µs ± 7%     ~     (p=0.920 n=20+20)
      String/10000/Base10-8               20.8µs ± 6%    22.1µs ±10%   +6.11%  (p=0.000 n=19+20)
      String/100000/Base10-8              5.60ms ± 2%    5.59ms ± 2%     ~     (p=0.749 n=20+19)
      String/10/Base16-8                  49.0ns ±13%    49.3ns ±16%     ~     (p=0.581 n=19+20)
      String/100/Base16-8                  173ns ± 5%     185ns ± 6%   +6.63%  (p=0.000 n=20+18)
      String/1000/Base16-8                1.38µs ± 3%    1.49µs ±10%   +8.27%  (p=0.000 n=19+20)
      String/10000/Base16-8               13.5µs ± 2%    14.5µs ± 3%   +7.08%  (p=0.000 n=20+20)
      String/100000/Base16-8               138µs ± 4%     148µs ± 4%   +7.57%  (p=0.000 n=19+20)
      LeafSize/0-8                        2.74ms ± 1%    2.79ms ± 2%   +2.00%  (p=0.000 n=19+19)
      LeafSize/1-8                        24.8µs ± 4%    26.1µs ± 8%   +5.33%  (p=0.000 n=18+19)
      LeafSize/2-8                        24.9µs ± 7%    25.0µs ± 8%     ~     (p=0.989 n=20+19)
      LeafSize/3-8                        97.6µs ± 3%   100.2µs ± 5%   +2.66%  (p=0.001 n=20+19)
      LeafSize/4-8                        25.2µs ± 5%    25.4µs ± 5%     ~     (p=0.173 n=19+20)
      LeafSize/5-8                         118µs ± 2%     119µs ± 5%     ~     (p=0.478 n=20+20)
      LeafSize/6-8                        97.6µs ± 3%   100.1µs ± 8%   +2.65%  (p=0.021 n=20+19)
      LeafSize/7-8                        65.6µs ± 5%    67.5µs ± 6%   +2.92%  (p=0.003 n=20+19)
      LeafSize/8-8                        25.5µs ± 5%    25.6µs ± 6%     ~     (p=0.461 n=19+20)
      LeafSize/9-8                         134µs ± 4%     136µs ± 5%     ~     (p=0.194 n=19+20)
      LeafSize/10-8                        119µs ± 3%     122µs ± 3%   +2.52%  (p=0.000 n=20+19)
      LeafSize/11-8                        115µs ± 5%     116µs ± 5%     ~     (p=0.158 n=20+19)
      LeafSize/12-8                       97.4µs ± 4%   100.3µs ± 5%   +2.91%  (p=0.003 n=19+20)
      LeafSize/13-8                       93.1µs ± 4%    93.0µs ± 6%     ~     (p=0.698 n=20+20)
      LeafSize/14-8                       67.0µs ± 3%    69.7µs ± 6%   +4.10%  (p=0.000 n=20+20)
      LeafSize/15-8                       48.3µs ± 2%    49.3µs ± 6%   +1.91%  (p=0.014 n=19+20)
      LeafSize/16-8                       25.6µs ± 5%    25.6µs ± 6%     ~     (p=0.947 n=20+20)
      LeafSize/32-8                       30.1µs ± 4%    30.3µs ± 5%     ~     (p=0.685 n=18+19)
      LeafSize/64-8                       53.4µs ± 2%    54.0µs ± 3%     ~     (p=0.053 n=19+19)
      ProbablyPrime/n=0-8                 3.59ms ± 1%    3.55ms ± 1%   -1.12%  (p=0.000 n=20+18)
      ProbablyPrime/n=1-8                 4.21ms ± 2%    4.17ms ± 2%   -0.73%  (p=0.018 n=20+19)
      ProbablyPrime/n=5-8                 6.74ms ± 1%    6.72ms ± 1%     ~     (p=0.102 n=20+20)
      ProbablyPrime/n=10-8                9.91ms ± 1%    9.89ms ± 2%     ~     (p=0.322 n=19+20)
      ProbablyPrime/n=20-8                16.2ms ± 1%    16.1ms ± 2%   -0.52%  (p=0.006 n=19+19)
      ProbablyPrime/Lucas-8               2.94ms ± 1%    2.95ms ± 1%   +0.52%  (p=0.002 n=18+19)
      ProbablyPrime/MillerRabinBase2-8     641µs ± 2%     640µs ± 2%     ~     (p=0.607 n=19+20)
      FloatSqrt/64-8                       653ns ± 5%     704ns ± 5%   +7.82%  (p=0.000 n=19+20)
      FloatSqrt/128-8                     1.32µs ± 3%    1.42µs ± 5%   +7.29%  (p=0.000 n=18+20)
      FloatSqrt/256-8                     1.44µs ± 2%    1.45µs ± 4%     ~     (p=0.089 n=19+19)
      FloatSqrt/1000-8                    3.36µs ± 3%    3.42µs ± 5%   +1.82%  (p=0.012 n=20+20)
      FloatSqrt/10000-8                   25.5µs ± 2%    27.5µs ± 7%   +7.91%  (p=0.000 n=18+19)
      FloatSqrt/100000-8                   629µs ± 6%     663µs ± 9%   +5.32%  (p=0.000 n=18+20)
      FloatSqrt/1000000-8                 46.4ms ± 2%    46.6ms ± 5%     ~     (p=0.351 n=20+19)
      [Geo mean]                          9.60µs        10.01µs        +4.28%
      
      name                              old alloc/op   new alloc/op   delta
      DecimalConversion-8                 54.0kB ± 0%    43.6kB ± 0%  -19.40%  (p=0.000 n=20+20)
      FloatString/100-8                     400B ± 0%      400B ± 0%     ~     (all equal)
      FloatString/1000-8                  3.10kB ± 0%    3.10kB ± 0%     ~     (all equal)
      FloatString/10000-8                 52.1kB ± 0%    52.1kB ± 0%     ~     (p=0.153 n=20+20)
      FloatString/100000-8                 582kB ± 0%     582kB ± 0%     ~     (all equal)
      FloatAdd/10-8                        0.00B          0.00B          ~     (all equal)
      FloatAdd/100-8                       0.00B          0.00B          ~     (all equal)
      FloatAdd/1000-8                      0.00B          0.00B          ~     (all equal)
      FloatAdd/10000-8                     0.00B          0.00B          ~     (all equal)
      FloatAdd/100000-8                    0.00B          0.00B          ~     (all equal)
      FloatSub/10-8                        0.00B          0.00B          ~     (all equal)
      FloatSub/100-8                       0.00B          0.00B          ~     (all equal)
      FloatSub/1000-8                      0.00B          0.00B          ~     (all equal)
      FloatSub/10000-8                     0.00B          0.00B          ~     (all equal)
      FloatSub/100000-8                    0.00B          0.00B          ~     (all equal)
      ParseFloatSmallExp-8                4.18kB ± 0%    3.60kB ± 0%  -13.79%  (p=0.000 n=20+20)
      ParseFloatLargeExp-8                18.9kB ± 0%    19.3kB ± 0%   +2.25%  (p=0.000 n=20+20)
      GCD10x10/WithoutXY-8                 96.0B ± 0%     16.0B ± 0%  -83.33%  (p=0.000 n=20+20)
      GCD10x10/WithXY-8                     240B ± 0%       88B ± 0%  -63.33%  (p=0.000 n=20+20)
      GCD10x100/WithoutXY-8                 192B ± 0%      112B ± 0%  -41.67%  (p=0.000 n=20+20)
      GCD10x100/WithXY-8                    464B ± 0%      424B ± 0%   -8.62%  (p=0.000 n=20+20)
      GCD10x1000/WithoutXY-8                416B ± 0%      336B ± 0%  -19.23%  (p=0.000 n=20+20)
      GCD10x1000/WithXY-8                 1.25kB ± 0%    1.10kB ± 0%  -12.18%  (p=0.000 n=20+20)
      GCD10x10000/WithoutXY-8             2.91kB ± 0%    2.83kB ± 0%   -2.75%  (p=0.000 n=20+20)
      GCD10x10000/WithXY-8                8.70kB ± 0%    8.55kB ± 0%   -1.76%  (p=0.000 n=16+16)
      GCD10x100000/WithoutXY-8            27.2kB ± 0%    27.2kB ± 0%   -0.29%  (p=0.000 n=20+20)
      GCD10x100000/WithXY-8               82.4kB ± 0%    82.3kB ± 0%   -0.17%  (p=0.000 n=20+19)
      GCD100x100/WithoutXY-8                288B ± 0%      384B ± 0%  +33.33%  (p=0.000 n=20+20)
      GCD100x100/WithXY-8                   464B ± 0%      576B ± 0%  +24.14%  (p=0.000 n=20+20)
      GCD100x1000/WithoutXY-8               640B ± 0%      688B ± 0%   +7.50%  (p=0.000 n=20+20)
      GCD100x1000/WithXY-8                1.52kB ± 0%    1.46kB ± 0%   -3.68%  (p=0.000 n=20+20)
      GCD100x10000/WithoutXY-8            4.24kB ± 0%    4.29kB ± 0%   +1.13%  (p=0.000 n=20+20)
      GCD100x10000/WithXY-8               11.1kB ± 0%    11.0kB ± 0%   -0.51%  (p=0.000 n=15+20)
      GCD100x100000/WithoutXY-8           40.9kB ± 0%    40.9kB ± 0%   +0.12%  (p=0.000 n=20+19)
      GCD100x100000/WithXY-8               110kB ± 0%     109kB ± 0%   -0.08%  (p=0.000 n=20+20)
      GCD1000x1000/WithoutXY-8            1.22kB ± 0%    1.06kB ± 0%  -13.16%  (p=0.000 n=20+20)
      GCD1000x1000/WithXY-8               2.37kB ± 0%    2.11kB ± 0%  -10.83%  (p=0.000 n=20+20)
      GCD1000x10000/WithoutXY-8           4.71kB ± 0%    4.63kB ± 0%   -1.70%  (p=0.000 n=20+19)
      GCD1000x10000/WithXY-8              28.2kB ± 0%    28.0kB ± 0%   -0.43%  (p=0.000 n=20+15)
      GCD1000x100000/WithoutXY-8          41.3kB ± 0%    41.2kB ± 0%   -0.20%  (p=0.000 n=20+16)
      GCD1000x100000/WithXY-8              301kB ± 0%     301kB ± 0%   -0.13%  (p=0.000 n=20+20)
      GCD10000x10000/WithoutXY-8          8.64kB ± 0%    8.48kB ± 0%   -1.85%  (p=0.000 n=20+20)
      GCD10000x10000/WithXY-8             57.2kB ± 0%    57.7kB ± 0%   +0.80%  (p=0.000 n=20+20)
      GCD10000x100000/WithoutXY-8         43.8kB ± 0%    43.7kB ± 0%   -0.19%  (p=0.000 n=20+18)
      GCD10000x100000/WithXY-8            2.08MB ± 0%    2.08MB ± 0%   -0.02%  (p=0.000 n=15+19)
      GCD100000x100000/WithoutXY-8        81.6kB ± 0%    81.4kB ± 0%   -0.20%  (p=0.000 n=20+20)
      GCD100000x100000/WithXY-8           4.32MB ± 0%    4.33MB ± 0%   +0.12%  (p=0.000 n=20+20)
      Hilbert-8                            653kB ± 0%     313kB ± 0%  -52.13%  (p=0.000 n=19+20)
      Binomial-8                          1.82kB ± 0%    1.02kB ± 0%  -43.86%  (p=0.000 n=20+20)
      QuoRem-8                             0.00B          0.00B          ~     (all equal)
      Exp-8                               11.1kB ± 0%    11.0kB ± 0%   -0.34%  (p=0.000 n=19+20)
      Exp2-8                              11.3kB ± 0%    11.3kB ± 0%   -0.35%  (p=0.000 n=19+20)
      Bitset-8                             0.00B          0.00B          ~     (all equal)
      BitsetNeg-8                          0.00B          0.00B          ~     (all equal)
      BitsetOrig-8                          103B ± 0%       63B ± 0%  -38.83%  (p=0.000 n=20+20)
      BitsetNegOrig-8                       215B ± 0%      175B ± 0%  -18.60%  (p=0.000 n=20+20)
      ModSqrt225_Tonelli-8                11.3kB ± 0%    11.0kB ± 0%   -2.76%  (p=0.000 n=20+17)
      ModSqrt225_3Mod4-8                  3.57kB ± 0%    3.53kB ± 0%   -1.12%  (p=0.000 n=20+20)
      ModSqrt231_Tonelli-8                11.0kB ± 0%    10.7kB ± 0%   -2.55%  (p=0.000 n=20+20)
      ModSqrt231_5Mod8-8                  4.21kB ± 0%    4.09kB ± 0%   -2.85%  (p=0.000 n=16+20)
      ModInverse-8                        1.44kB ± 0%    1.28kB ± 0%  -11.11%  (p=0.000 n=20+20)
      Sqrt-8                              6.00kB ± 0%    6.00kB ± 0%     ~     (all equal)
      IntSqr/1-8                           0.00B          0.00B          ~     (all equal)
      IntSqr/2-8                           0.00B          0.00B          ~     (all equal)
      IntSqr/3-8                           0.00B          0.00B          ~     (all equal)
      IntSqr/5-8                           0.00B          0.00B          ~     (all equal)
      IntSqr/8-8                           0.00B          0.00B          ~     (all equal)
      IntSqr/10-8                          0.00B          0.00B          ~     (all equal)
      IntSqr/20-8                           320B ± 0%      320B ± 0%     ~     (all equal)
      IntSqr/30-8                           480B ± 0%      480B ± 0%     ~     (all equal)
      IntSqr/50-8                           896B ± 0%      896B ± 0%     ~     (all equal)
      IntSqr/80-8                         1.28kB ± 0%    1.28kB ± 0%     ~     (all equal)
      IntSqr/100-8                        1.79kB ± 0%    1.79kB ± 0%     ~     (all equal)
      IntSqr/200-8                        3.20kB ± 0%    3.20kB ± 0%     ~     (all equal)
      IntSqr/300-8                        8.06kB ± 0%    8.06kB ± 0%     ~     (all equal)
      IntSqr/500-8                        12.3kB ± 0%    12.3kB ± 0%     ~     (all equal)
      IntSqr/800-8                        28.8kB ± 0%    28.8kB ± 0%     ~     (all equal)
      IntSqr/1000-8                       36.9kB ± 0%    36.9kB ± 0%     ~     (all equal)
      Div/20/10-8                          0.00B          0.00B          ~     (all equal)
      Div/200/100-8                        0.00B          0.00B          ~     (all equal)
      Div/2000/1000-8                      0.00B          0.00B          ~     (all equal)
      Div/20000/10000-8                    0.00B          0.00B          ~     (all equal)
      Div/200000/100000-8                   690B ± 0%      690B ± 0%     ~     (all equal)
      Mul-8                                565kB ± 0%     565kB ± 0%     ~     (all equal)
      ZeroShifts/Shl-8                    6.53kB ± 0%    6.53kB ± 0%     ~     (all equal)
      ZeroShifts/ShlSame-8                 0.00B          0.00B          ~     (all equal)
      ZeroShifts/Shr-8                    6.53kB ± 0%    6.53kB ± 0%     ~     (all equal)
      ZeroShifts/ShrSame-8                 0.00B          0.00B          ~     (all equal)
      Exp3Power/0x10-8                      192B ± 0%      112B ± 0%  -41.67%  (p=0.000 n=20+20)
      Exp3Power/0x40-8                      192B ± 0%      112B ± 0%  -41.67%  (p=0.000 n=20+20)
      Exp3Power/0x100-8                     288B ± 0%      208B ± 0%  -27.78%  (p=0.000 n=20+20)
      Exp3Power/0x400-8                     672B ± 0%      592B ± 0%  -11.90%  (p=0.000 n=20+20)
      Exp3Power/0x1000-8                  3.33kB ± 0%    3.25kB ± 0%   -2.40%  (p=0.000 n=20+20)
      Exp3Power/0x4000-8                  13.8kB ± 0%    13.7kB ± 0%   -0.58%  (p=0.000 n=20+20)
      Exp3Power/0x10000-8                  117kB ± 0%     117kB ± 0%   -0.07%  (p=0.000 n=20+20)
      Exp3Power/0x40000-8                  755kB ± 0%     755kB ± 0%   -0.01%  (p=0.000 n=19+20)
      Exp3Power/0x100000-8                5.22MB ± 0%    5.22MB ± 0%   -0.00%  (p=0.000 n=20+20)
      Exp3Power/0x400000-8                39.8MB ± 0%    39.8MB ± 0%   -0.00%  (p=0.000 n=20+19)
      Fibo-8                              3.09MB ± 0%    3.08MB ± 0%   -0.28%  (p=0.000 n=20+16)
      NatSqr/1-8                           48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      NatSqr/2-8                           64.0B ± 0%     64.0B ± 0%     ~     (all equal)
      NatSqr/3-8                           80.0B ± 0%     80.0B ± 0%     ~     (all equal)
      NatSqr/5-8                            112B ± 0%      112B ± 0%     ~     (all equal)
      NatSqr/8-8                            160B ± 0%      160B ± 0%     ~     (all equal)
      NatSqr/10-8                           192B ± 0%      192B ± 0%     ~     (all equal)
      NatSqr/20-8                           672B ± 0%      672B ± 0%     ~     (all equal)
      NatSqr/30-8                           992B ± 0%      992B ± 0%     ~     (all equal)
      NatSqr/50-8                         1.79kB ± 0%    1.79kB ± 0%     ~     (all equal)
      NatSqr/80-8                         2.69kB ± 0%    2.69kB ± 0%     ~     (all equal)
      NatSqr/100-8                        3.58kB ± 0%    3.58kB ± 0%     ~     (all equal)
      NatSqr/200-8                        6.66kB ± 0%    6.66kB ± 0%     ~     (all equal)
      NatSqr/300-8                        24.4kB ± 0%    24.4kB ± 0%     ~     (all equal)
      NatSqr/500-8                        36.9kB ± 0%    36.9kB ± 0%     ~     (all equal)
      NatSqr/800-8                        69.8kB ± 0%    69.8kB ± 0%     ~     (all equal)
      NatSqr/1000-8                       86.0kB ± 0%    86.0kB ± 0%     ~     (all equal)
      NatSetBytes/8-8                      0.00B          0.00B          ~     (all equal)
      NatSetBytes/24-8                     64.0B ± 0%     64.0B ± 0%     ~     (all equal)
      NatSetBytes/128-8                     160B ± 0%      160B ± 0%     ~     (all equal)
      NatSetBytes/7-8                      0.00B          0.00B          ~     (all equal)
      NatSetBytes/23-8                     64.0B ± 0%     64.0B ± 0%     ~     (all equal)
      NatSetBytes/127-8                     160B ± 0%      160B ± 0%     ~     (all equal)
      ScanPi-8                            75.4kB ± 0%    75.7kB ± 0%   +0.41%  (p=0.000 n=20+20)
      StringPiParallel-8                  20.4kB ± 0%    20.4kB ± 0%     ~     (p=0.223 n=20+20)
      Scan/10/Base2-8                      48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100/Base2-8                     48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/1000/Base2-8                    48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10000/Base2-8                   48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100000/Base2-8                  48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10/Base8-8                      48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100/Base8-8                     48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/1000/Base8-8                    48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10000/Base8-8                   48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100000/Base8-8                  48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10/Base10-8                     48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100/Base10-8                    48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/1000/Base10-8                   48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10000/Base10-8                  48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100000/Base10-8                 48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10/Base16-8                     48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100/Base16-8                    48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/1000/Base16-8                   48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/10000/Base16-8                  48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      Scan/100000/Base16-8                 48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      String/10/Base2-8                    48.0B ± 0%     48.0B ± 0%     ~     (all equal)
      String/100/Base2-8                    352B ± 0%      352B ± 0%     ~     (all equal)
      String/1000/Base2-8                 3.46kB ± 0%    3.46kB ± 0%     ~     (all equal)
      String/10000/Base2-8                41.0kB ± 0%    41.0kB ± 0%     ~     (all equal)
      String/100000/Base2-8                336kB ± 0%     336kB ± 0%     ~     (all equal)
      String/10/Base8-8                    16.0B ± 0%     16.0B ± 0%     ~     (all equal)
      String/100/Base8-8                    112B ± 0%      112B ± 0%     ~     (all equal)
      String/1000/Base8-8                 1.15kB ± 0%    1.15kB ± 0%     ~     (all equal)
      String/10000/Base8-8                12.3kB ± 0%    12.3kB ± 0%     ~     (all equal)
      String/100000/Base8-8                115kB ± 0%     115kB ± 0%     ~     (all equal)
      String/10/Base10-8                   64.0B ± 0%     24.0B ± 0%  -62.50%  (p=0.000 n=20+20)
      String/100/Base10-8                   192B ± 0%      192B ± 0%     ~     (all equal)
      String/1000/Base10-8                1.95kB ± 0%    1.95kB ± 0%     ~     (all equal)
      String/10000/Base10-8               20.0kB ± 0%    20.0kB ± 0%     ~     (p=0.983 n=19+20)
      String/100000/Base10-8               210kB ± 1%     211kB ± 1%   +0.82%  (p=0.000 n=19+20)
      String/10/Base16-8                   16.0B ± 0%     16.0B ± 0%     ~     (all equal)
      String/100/Base16-8                  96.0B ± 0%     96.0B ± 0%     ~     (all equal)
      String/1000/Base16-8                  896B ± 0%      896B ± 0%     ~     (all equal)
      String/10000/Base16-8               9.47kB ± 0%    9.47kB ± 0%     ~     (all equal)
      String/100000/Base16-8              90.1kB ± 0%    90.1kB ± 0%     ~     (all equal)
      LeafSize/0-8                        16.9kB ± 0%    16.8kB ± 0%   -0.44%  (p=0.000 n=20+20)
      LeafSize/1-8                        22.4kB ± 0%    22.3kB ± 0%   -0.34%  (p=0.000 n=20+19)
      LeafSize/2-8                        22.4kB ± 0%    22.3kB ± 0%   -0.34%  (p=0.000 n=20+19)
      LeafSize/3-8                        22.4kB ± 0%    22.3kB ± 0%   -0.34%  (p=0.000 n=20+17)
      LeafSize/4-8                        22.4kB ± 0%    22.3kB ± 0%   -0.34%  (p=0.000 n=20+19)
      LeafSize/5-8                        22.4kB ± 0%    22.3kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/6-8                        22.3kB ± 0%    22.2kB ± 0%   -0.34%  (p=0.000 n=20+20)
      LeafSize/7-8                        22.3kB ± 0%    22.2kB ± 0%   -0.35%  (p=0.000 n=20+20)
      LeafSize/8-8                        22.3kB ± 0%    22.2kB ± 0%   -0.34%  (p=0.000 n=16+20)
      LeafSize/9-8                        22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/10-8                       22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/11-8                       22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/12-8                       22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/13-8                       22.3kB ± 0%    22.2kB ± 0%   -0.34%  (p=0.000 n=20+15)
      LeafSize/14-8                       22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/15-8                       22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=20+20)
      LeafSize/16-8                       22.3kB ± 0%    22.2kB ± 0%   -0.33%  (p=0.000 n=19+20)
      LeafSize/32-8                       22.3kB ± 0%    22.2kB ± 0%   -0.32%  (p=0.000 n=20+20)
      LeafSize/64-8                       21.8kB ± 0%    21.7kB ± 0%   -0.33%  (p=0.000 n=18+19)
      ProbablyPrime/n=0-8                 15.3kB ± 0%    14.9kB ± 0%   -2.35%  (p=0.000 n=20+20)
      ProbablyPrime/n=1-8                 21.0kB ± 0%    20.7kB ± 0%   -1.71%  (p=0.000 n=20+20)
      ProbablyPrime/n=5-8                 43.4kB ± 0%    42.9kB ± 0%   -1.20%  (p=0.000 n=20+20)
      ProbablyPrime/n=10-8                71.5kB ± 0%    70.7kB ± 0%   -1.01%  (p=0.000 n=19+20)
      ProbablyPrime/n=20-8                 127kB ± 0%     126kB ± 0%   -0.88%  (p=0.000 n=20+20)
      ProbablyPrime/Lucas-8               3.07kB ± 0%    2.79kB ± 0%   -9.12%  (p=0.000 n=20+20)
      ProbablyPrime/MillerRabinBase2-8    12.1kB ± 0%    12.0kB ± 0%   -0.66%  (p=0.000 n=20+20)
      FloatSqrt/64-8                        416B ± 0%      360B ± 0%  -13.46%  (p=0.000 n=20+20)
      FloatSqrt/128-8                       640B ± 0%      584B ± 0%   -8.75%  (p=0.000 n=20+20)
      FloatSqrt/256-8                       512B ± 0%      472B ± 0%   -7.81%  (p=0.000 n=20+20)
      FloatSqrt/1000-8                    1.47kB ± 0%    1.43kB ± 0%   -2.72%  (p=0.000 n=20+20)
      FloatSqrt/10000-8                   18.2kB ± 0%    18.1kB ± 0%   -0.22%  (p=0.000 n=20+20)
      FloatSqrt/100000-8                   204kB ± 0%     204kB ± 0%   -0.02%  (p=0.000 n=20+20)
      FloatSqrt/1000000-8                 6.37MB ± 0%    6.37MB ± 0%   -0.00%  (p=0.000 n=19+20)
      [Geo mean]                          3.42kB         3.24kB        -5.33%
      
      name                              old allocs/op  new allocs/op  delta
      DecimalConversion-8                  1.65k ± 0%     1.65k ± 0%     ~     (all equal)
      FloatString/100-8                     8.00 ± 0%      8.00 ± 0%     ~     (all equal)
      FloatString/1000-8                    9.00 ± 0%      9.00 ± 0%     ~     (all equal)
      FloatString/10000-8                   22.0 ± 0%      22.0 ± 0%     ~     (all equal)
      FloatString/100000-8                   136 ± 0%       136 ± 0%     ~     (all equal)
      FloatAdd/10-8                         0.00           0.00          ~     (all equal)
      FloatAdd/100-8                        0.00           0.00          ~     (all equal)
      FloatAdd/1000-8                       0.00           0.00          ~     (all equal)
      FloatAdd/10000-8                      0.00           0.00          ~     (all equal)
      FloatAdd/100000-8                     0.00           0.00          ~     (all equal)
      FloatSub/10-8                         0.00           0.00          ~     (all equal)
      FloatSub/100-8                        0.00           0.00          ~     (all equal)
      FloatSub/1000-8                       0.00           0.00          ~     (all equal)
      FloatSub/10000-8                      0.00           0.00          ~     (all equal)
      FloatSub/100000-8                     0.00           0.00          ~     (all equal)
      ParseFloatSmallExp-8                   110 ± 0%       130 ± 0%  +18.18%  (p=0.000 n=20+20)
      ParseFloatLargeExp-8                   319 ± 0%       371 ± 0%  +16.30%  (p=0.000 n=20+20)
      GCD10x10/WithoutXY-8                  2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      GCD10x10/WithXY-8                     5.00 ± 0%      6.00 ± 0%  +20.00%  (p=0.000 n=20+20)
      GCD10x100/WithoutXY-8                 4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      GCD10x100/WithXY-8                    9.00 ± 0%     12.00 ± 0%  +33.33%  (p=0.000 n=20+20)
      GCD10x1000/WithoutXY-8                4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      GCD10x1000/WithXY-8                   11.0 ± 0%      12.0 ± 0%   +9.09%  (p=0.000 n=20+20)
      GCD10x10000/WithoutXY-8               4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      GCD10x10000/WithXY-8                  11.0 ± 0%      12.0 ± 0%   +9.09%  (p=0.000 n=20+20)
      GCD10x100000/WithoutXY-8              4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      GCD10x100000/WithXY-8                 11.0 ± 0%      12.0 ± 0%   +9.09%  (p=0.000 n=20+20)
      GCD100x100/WithoutXY-8                6.00 ± 0%     10.00 ± 0%  +66.67%  (p=0.000 n=20+20)
      GCD100x100/WithXY-8                   9.00 ± 0%     15.00 ± 0%  +66.67%  (p=0.000 n=20+20)
      GCD100x1000/WithoutXY-8               6.00 ± 0%      8.00 ± 0%  +33.33%  (p=0.000 n=20+20)
      GCD100x1000/WithXY-8                  12.0 ± 0%      13.0 ± 0%   +8.33%  (p=0.000 n=20+20)
      GCD100x10000/WithoutXY-8              6.00 ± 0%      8.00 ± 0%  +33.33%  (p=0.000 n=20+20)
      GCD100x10000/WithXY-8                 12.0 ± 0%      13.0 ± 0%   +8.33%  (p=0.000 n=20+20)
      GCD100x100000/WithoutXY-8             6.00 ± 0%      8.00 ± 0%  +33.33%  (p=0.000 n=20+20)
      GCD100x100000/WithXY-8                12.0 ± 0%      13.0 ± 0%   +8.33%  (p=0.000 n=20+20)
      GCD1000x1000/WithoutXY-8              10.0 ± 0%      10.0 ± 0%     ~     (all equal)
      GCD1000x1000/WithXY-8                 19.0 ± 0%      20.0 ± 0%   +5.26%  (p=0.000 n=20+20)
      GCD1000x10000/WithoutXY-8             8.00 ± 0%      8.00 ± 0%     ~     (all equal)
      GCD1000x10000/WithXY-8                26.0 ± 0%      26.0 ± 0%     ~     (all equal)
      GCD1000x100000/WithoutXY-8            8.00 ± 0%      8.00 ± 0%     ~     (all equal)
      GCD1000x100000/WithXY-8               27.0 ± 0%      27.0 ± 0%     ~     (all equal)
      GCD10000x10000/WithoutXY-8            10.0 ± 0%      10.0 ± 0%     ~     (all equal)
      GCD10000x10000/WithXY-8               76.0 ± 0%      78.0 ± 0%   +2.63%  (p=0.000 n=20+20)
      GCD10000x100000/WithoutXY-8           8.00 ± 0%      8.00 ± 0%     ~     (all equal)
      GCD10000x100000/WithXY-8               174 ± 0%       174 ± 0%     ~     (all equal)
      GCD100000x100000/WithoutXY-8          10.0 ± 0%      10.0 ± 0%     ~     (all equal)
      GCD100000x100000/WithXY-8              645 ± 0%       647 ± 0%   +0.31%  (p=0.000 n=20+20)
      Hilbert-8                            14.1k ± 0%     14.3k ± 0%   +0.92%  (p=0.000 n=20+20)
      Binomial-8                            38.0 ± 0%      38.0 ± 0%     ~     (all equal)
      QuoRem-8                              0.00           0.00          ~     (all equal)
      Exp-8                                 21.0 ± 0%      21.0 ± 0%     ~     (all equal)
      Exp2-8                                22.0 ± 0%      22.0 ± 0%     ~     (all equal)
      Bitset-8                              0.00           0.00          ~     (all equal)
      BitsetNeg-8                           0.00           0.00          ~     (all equal)
      BitsetOrig-8                          1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      BitsetNegOrig-8                       2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      ModSqrt225_Tonelli-8                  85.0 ± 0%      86.0 ± 0%   +1.18%  (p=0.000 n=20+20)
      ModSqrt225_3Mod4-8                    25.0 ± 0%      25.0 ± 0%     ~     (all equal)
      ModSqrt231_Tonelli-8                  80.0 ± 0%      80.0 ± 0%     ~     (all equal)
      ModSqrt231_5Mod8-8                    32.0 ± 0%      32.0 ± 0%     ~     (all equal)
      ModInverse-8                          11.0 ± 0%      11.0 ± 0%     ~     (all equal)
      Sqrt-8                                13.0 ± 0%      13.0 ± 0%     ~     (all equal)
      IntSqr/1-8                            0.00           0.00          ~     (all equal)
      IntSqr/2-8                            0.00           0.00          ~     (all equal)
      IntSqr/3-8                            0.00           0.00          ~     (all equal)
      IntSqr/5-8                            0.00           0.00          ~     (all equal)
      IntSqr/8-8                            0.00           0.00          ~     (all equal)
      IntSqr/10-8                           0.00           0.00          ~     (all equal)
      IntSqr/20-8                           1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      IntSqr/30-8                           1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      IntSqr/50-8                           1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      IntSqr/80-8                           1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      IntSqr/100-8                          1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      IntSqr/200-8                          1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      IntSqr/300-8                          3.00 ± 0%      3.00 ± 0%     ~     (all equal)
      IntSqr/500-8                          3.00 ± 0%      3.00 ± 0%     ~     (all equal)
      IntSqr/800-8                          9.00 ± 0%      9.00 ± 0%     ~     (all equal)
      IntSqr/1000-8                         9.00 ± 0%      9.00 ± 0%     ~     (all equal)
      Div/20/10-8                           0.00           0.00          ~     (all equal)
      Div/200/100-8                         0.00           0.00          ~     (all equal)
      Div/2000/1000-8                       0.00           0.00          ~     (all equal)
      Div/20000/10000-8                     0.00           0.00          ~     (all equal)
      Div/200000/100000-8                   0.00           0.00          ~     (all equal)
      Mul-8                                 2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      ZeroShifts/Shl-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      ZeroShifts/ShlSame-8                  0.00           0.00          ~     (all equal)
      ZeroShifts/Shr-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      ZeroShifts/ShrSame-8                  0.00           0.00          ~     (all equal)
      Exp3Power/0x10-8                      4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      Exp3Power/0x40-8                      4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      Exp3Power/0x100-8                     5.00 ± 0%      5.00 ± 0%     ~     (all equal)
      Exp3Power/0x400-8                     7.00 ± 0%      7.00 ± 0%     ~     (all equal)
      Exp3Power/0x1000-8                    11.0 ± 0%      11.0 ± 0%     ~     (all equal)
      Exp3Power/0x4000-8                    15.0 ± 0%      15.0 ± 0%     ~     (all equal)
      Exp3Power/0x10000-8                   29.0 ± 0%      29.0 ± 0%     ~     (all equal)
      Exp3Power/0x40000-8                    140 ± 0%       140 ± 0%     ~     (all equal)
      Exp3Power/0x100000-8                 1.12k ± 0%     1.12k ± 0%     ~     (all equal)
      Exp3Power/0x400000-8                 9.88k ± 0%     9.88k ± 0%     ~     (p=0.747 n=17+19)
      Fibo-8                                 739 ± 0%       743 ± 0%   +0.54%  (p=0.000 n=20+20)
      NatSqr/1-8                            1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSqr/2-8                            1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSqr/3-8                            1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSqr/5-8                            1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSqr/8-8                            1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSqr/10-8                           1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSqr/20-8                           2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      NatSqr/30-8                           2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      NatSqr/50-8                           2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      NatSqr/80-8                           2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      NatSqr/100-8                          2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      NatSqr/200-8                          2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      NatSqr/300-8                          4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      NatSqr/500-8                          4.00 ± 0%      4.00 ± 0%     ~     (all equal)
      NatSqr/800-8                          10.0 ± 0%      10.0 ± 0%     ~     (all equal)
      NatSqr/1000-8                         10.0 ± 0%      10.0 ± 0%     ~     (all equal)
      NatSetBytes/8-8                       0.00           0.00          ~     (all equal)
      NatSetBytes/24-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSetBytes/128-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSetBytes/7-8                       0.00           0.00          ~     (all equal)
      NatSetBytes/23-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      NatSetBytes/127-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      ScanPi-8                              60.0 ± 0%      61.0 ± 0%   +1.67%  (p=0.000 n=20+20)
      StringPiParallel-8                    24.0 ± 0%      24.0 ± 0%     ~     (all equal)
      Scan/10/Base2-8                       1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100/Base2-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/1000/Base2-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10000/Base2-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100000/Base2-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10/Base8-8                       1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100/Base8-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/1000/Base8-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10000/Base8-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100000/Base8-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10/Base10-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100/Base10-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/1000/Base10-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10000/Base10-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100000/Base10-8                  1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10/Base16-8                      1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100/Base16-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/1000/Base16-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/10000/Base16-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      Scan/100000/Base16-8                  1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/10/Base2-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/100/Base2-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/1000/Base2-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/10000/Base2-8                  1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/100000/Base2-8                 1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/10/Base8-8                     1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/100/Base8-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/1000/Base8-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/10000/Base8-8                  1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/100000/Base8-8                 1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/10/Base10-8                    2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      String/100/Base10-8                   2.00 ± 0%      2.00 ± 0%     ~     (all equal)
      String/1000/Base10-8                  3.00 ± 0%      3.00 ± 0%     ~     (all equal)
      String/10000/Base10-8                 3.00 ± 0%      3.00 ± 0%     ~     (all equal)
      String/100000/Base10-8                3.00 ± 0%      3.00 ± 0%     ~     (all equal)
      String/10/Base16-8                    1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/100/Base16-8                   1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/1000/Base16-8                  1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/10000/Base16-8                 1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      String/100000/Base16-8                1.00 ± 0%      1.00 ± 0%     ~     (all equal)
      LeafSize/0-8                          10.0 ± 0%      10.0 ± 0%     ~     (all equal)
      LeafSize/1-8                          13.0 ± 0%      13.0 ± 0%     ~     (all equal)
      LeafSize/2-8                          13.0 ± 0%      13.0 ± 0%     ~     (all equal)
      LeafSize/3-8                          13.0 ± 0%      13.0 ± 0%     ~     (all equal)
      LeafSize/4-8                          13.0 ± 0%      13.0 ± 0%     ~     (all equal)
      LeafSize/5-8                          13.0 ± 0%      13.0 ± 0%     ~     (all equal)
      LeafSize/6-8                          12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/7-8                          12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/8-8                          12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/9-8                          12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/10-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/11-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/12-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/13-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/14-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/15-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/16-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/32-8                         12.0 ± 0%      12.0 ± 0%     ~     (all equal)
      LeafSize/64-8                         11.0 ± 0%      11.0 ± 0%     ~     (all equal)
      ProbablyPrime/n=0-8                   52.0 ± 0%      52.0 ± 0%     ~     (all equal)
      ProbablyPrime/n=1-8                   73.0 ± 0%      73.0 ± 0%     ~     (all equal)
      ProbablyPrime/n=5-8                    157 ± 0%       157 ± 0%     ~     (all equal)
      ProbablyPrime/n=10-8                   262 ± 0%       262 ± 0%     ~     (all equal)
      ProbablyPrime/n=20-8                   472 ± 0%       472 ± 0%     ~     (all equal)
      ProbablyPrime/Lucas-8                 22.0 ± 0%      22.0 ± 0%     ~     (all equal)
      ProbablyPrime/MillerRabinBase2-8      29.0 ± 0%      29.0 ± 0%     ~     (all equal)
      FloatSqrt/64-8                        9.00 ± 0%     10.00 ± 0%  +11.11%  (p=0.000 n=20+20)
      FloatSqrt/128-8                       12.0 ± 0%      13.0 ± 0%   +8.33%  (p=0.000 n=20+20)
      FloatSqrt/256-8                       8.00 ± 0%      8.00 ± 0%     ~     (all equal)
      FloatSqrt/1000-8                      9.00 ± 0%      9.00 ± 0%     ~     (all equal)
      FloatSqrt/10000-8                     14.0 ± 0%      14.0 ± 0%     ~     (all equal)
      FloatSqrt/100000-8                    33.0 ± 0%      33.0 ± 0%     ~     (all equal)
      FloatSqrt/1000000-8                  1.16k ± 0%     1.16k ± 0%     ~     (all equal)
      [Geo mean]                            6.62           6.76        +2.09%
      
      Change-Id: Id9df4157cac1e07721e35cff7fcdefe60703873a
      Reviewed-on: https://go-review.googlesource.com/c/150999
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: default avatarAlan Donovan <adonovan@google.com>
      Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
      bfc54bb6
    • Andrew Bonventre's avatar
      doc: update go1.12.html using latest output from relnote tool · 7f3c6f64
      Andrew Bonventre authored
      Change-Id: I6b20c3fd7f15f35d2288d9a0fd6512c541a62c92
      Reviewed-on: https://go-review.googlesource.com/c/151558Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
      7f3c6f64
    • Keith Randall's avatar
      cmd/compile: randomize value order in block for testing · 2b4f24a2
      Keith Randall authored
      A little bit of compiler stress testing. Randomize the order
      of the values in a block before every phase. This randomization
      makes sure that we're not implicitly depending on that order.
      
      Currently the random seed is a hash of the function name.
      It provides determinism, but sacrifices some coverage.
      Other arrangements are possible (env var, ...) but require
      more setup.
      
      Fixes #20178
      
      Change-Id: Idae792a23264bd9a3507db6ba49b6d591a608e83
      Reviewed-on: https://go-review.googlesource.com/c/33909Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      2b4f24a2
    • Keith Randall's avatar
      cmd/compile: order nil checks by source position · ff9481ec
      Keith Randall authored
      There's nothing enforcing ordering between redundant nil checks when
      they may occur during the same memory state. Commit to using the
      earliest one in source order.
      
      Otherwise the choice of which to remove depends on the ordering of
      values in a block (before scheduling). That's unfortunate when trying
      to ensure that the compiler doesn't depend on that ordering for
      anything.
      
      Update #20178
      
      Change-Id: I2cdd5be10618accd9d91fa07406c90cbd023ffba
      Reviewed-on: https://go-review.googlesource.com/c/151517
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarDavid Chase <drchase@google.com>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      ff9481ec
    • Tobias Klauser's avatar
      vendor: update x/net/internal/nettest for aix support · 71f9f4b8
      Tobias Klauser authored
      Update golang.org/x/net/internal/nettest to x/net git rev 9b4f9f5ad519
      for:
      
         internal/nettest: add AIX operating system
         https://golang.org/cl/144077
      
      This fixes the build failure of the vendored x/net/internal/nettest on
      aix/ppc64.
      
      Additionally this also pulls in:
      
        all: re-adjust build constraints for JS and NaCl
        https://golang.org/cl/122539
      
      Updates #25893
      
      Change-Id: I9abefc7d4ad158e9e68913362f7f1320321d6f5f
      Reviewed-on: https://go-review.googlesource.com/c/151301
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      71f9f4b8
    • Ian Lance Taylor's avatar
      doc: fix formatting for Darwin entry · 5966c2f4
      Ian Lance Taylor authored
      Updates #23011
      
      Change-Id: I38360501c772ddf7cc4bd1b5d7b0225387ead535
      Reviewed-on: https://go-review.googlesource.com/c/151361Reviewed-by: default avatarTobias Klauser <tobias.klauser@gmail.com>
      5966c2f4
    • Alex Brainman's avatar
      plugin: skip building tests on linux/arm64 · 1cac3e84
      Alex Brainman authored
      It appears that linux/arm64
      
      https://build.golang.org/log/6808dbded6aebadf68cb65a0e30e4d1a62cd687b
      
      fails with
      
      /workdir/go/pkg/tool/linux_arm64/link: running gcc failed: exit status 1
      /usr/bin/ld.gold: internal error in global, at ../../gold/aarch64.cc:4973
      collect2: error: ld returned 1 exit status
      FAIL plugin [build failed]
      
      error. So stop building these tests on linux/arm64.
      
      Fixes linux/arm64 build
      
      Change-Id: I41eb3d9659f7967d80136513899a5203bbf03fb1
      Reviewed-on: https://go-review.googlesource.com/c/151478
      Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      1cac3e84
    • Tobias Klauser's avatar
      lib/time: update tzdata to 2018g · 3dd509d2
      Tobias Klauser authored
      Now that the tree has been frozen for some time, update the tzdata
      database to version 2018g (released 2018-10-26) for Go 1.12.
      
      Updates #22487
      
      Change-Id: I9e82bcdaef28d308643c08c9fd3472e4c14a196e
      Reviewed-on: https://go-review.googlesource.com/c/151299
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      3dd509d2
    • Wil Selwood's avatar
      unicode: improve generated comments for categories · d704b5c9
      Wil Selwood authored
      The comments on the category range tables in the unicode package are fairly
      redundent and require an external source to translate into human readable
      category names.
      
      This adds a look up table with the category descriptions and uses it if
      available when generating the comments for the range tables.
      
      Fixes #28954
      
      Change-Id: I853e2d270def6492c2c1dd2ad0ec761a74c04e5d
      Reviewed-on: https://go-review.googlesource.com/c/151297Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      d704b5c9
    • Ian Lance Taylor's avatar
      doc: preannounce dropping macOS 10.10 support · 6bf53138
      Ian Lance Taylor authored
      Updates #23011
      
      Change-Id: I0eccea5d08a8758585f183540787b78fb80aa36a
      Reviewed-on: https://go-review.googlesource.com/c/151360Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      6bf53138
    • Ian Lance Taylor's avatar
      net: use .invalid for an invalid domain name · 3a60629a
      Ian Lance Taylor authored
      Fixes #25370
      
      Change-Id: I12da0cc17f433ca12c85fb986d65ac9ecb2c3f20
      Reviewed-on: https://go-review.googlesource.com/c/151359
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      3a60629a
  3. 27 Nov, 2018 5 commits
    • Clément Chigot's avatar
      cmd: fix symbols addressing for aix/ppc64 · 4295ed9b
      Clément Chigot authored
      This commit changes the code generated for addressing symbols on AIX
      operating system.
      
      On AIX, every symbol accesses must be done via another symbol near the TOC,
      named TOC anchor or TOC entry. This TOC anchor is a pointer to the symbol
      address.
      During Progedit function, when a symbol access is detected, its instructions
      are modified to create a load on its TOC anchor and retrieve the symbol.
      
      Change-Id: I00cf8f49c13004bc99fa8af13d549a709320f797
      Reviewed-on: https://go-review.googlesource.com/c/151039
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      4295ed9b
    • Clément Chigot's avatar
      cmd/link: improve XCOFF dynamic symbols generation · b41cdc4a
      Clément Chigot authored
      This commit fixes and improves the generation of dynamic symbols for
      XCOFF files.
      This mainly adds for every dynamic symbols a new symbol named
      s.Extname().
      
      Change-Id: I5b788f076d9a05e5d42f08eb1a74fd3e3efa9a86
      Reviewed-on: https://go-review.googlesource.com/c/151038
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      b41cdc4a
    • David Tolpin's avatar
      go/printer: print parenthesized declarations if len(d.Specs) > 1 · 7d7e839a
      David Tolpin authored
      Parenthesized declaration must be printed if len(d.Specs) > 1 even if d.Lparen==token.NoPos. This happens if the node tree is created programmatically. Otherwise, all but the first specifications just silently disappear from the output.
      
      Change-Id: I17ab24bb1cd56fe1e611199698535ca60a97f5ea
      GitHub-Last-Rev: 2f168dc7ad4a29149685efc70f180987523271e4
      GitHub-Pull-Request: golang/go#28533
      Reviewed-on: https://go-review.googlesource.com/c/146657
      Run-TryBot: Robert Griesemer <gri@golang.org>
      Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
      7d7e839a
    • Keith Randall's avatar
      cmd/compile: don't use CMOV ops to compute load addresses · 0b79dde1
      Keith Randall authored
      We want to issue loads as soon as possible, especially when they
      are going to miss in the cache. Using a conditional move (CMOV) here:
      
      i := ...
      if cond {
         i++
      }
      ... = a[i]
      
      means that we have to wait for cond to be computed before the load
      is issued. Without a CMOV, if the branch is predicted correctly the
      load can be issued in parallel with computing cond.
      Even if the branch is predicted incorrectly, maybe the speculative
      load is close to the real load, and we get a prefetch for free.
      In the worst case, when the prediction is wrong and the address is
      way off, we only lose by the time difference between the CMOV
      latency (~2 cycles) and the mispredict restart latency (~15 cycles).
      
      We only squash CMOVs that affect load addresses. Results of CMOVs
      that are used for other things (store addresses, store values) we
      use as before.
      
      Fixes #26306
      
      Change-Id: I82ca14b664bf05e1d45e58de8c4d9c775a127ca1
      Reviewed-on: https://go-review.googlesource.com/c/145717
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarJosh Bleecher Snyder <josharian@gmail.com>
      0b79dde1
    • Clément Chigot's avatar
      test: fix nilptr5 for AIX · 5680874e
      Clément Chigot authored
      This commit fixes a mistake made in CL 144538.
      This nilcheck can be removed because OpPPC64LoweredMove will fault if
      arg0 is nil, as it's used to store. Further information can be found in
      cmd/compile/internal/ssa/nilcheck.go.
      
      Change-Id: Ifec0080c00eb1f94a8c02f8bf60b93308e71b119
      Reviewed-on: https://go-review.googlesource.com/c/151298
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      5680874e