1. 18 Apr, 2017 13 commits
    • Josh Bleecher Snyder's avatar
      encoding/hex: change lookup table back to string · 5e15497b
      Josh Bleecher Snyder authored
      CL 27254 changed hextable to a byte array for performance.
      CL 28219 fixed the compiler so that that is no longer necessary.
      As Kirill notes in #15808, a string is preferable
      as the linker can easily de-dup it.
      So go back. No performance changes.
      
      Change-Id: Ibef7d21d0f2507968a0606602c5dd57ed4a85b1b
      Reviewed-on: https://go-review.googlesource.com/40970
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      5e15497b
    • Matthew Dempsky's avatar
      cmd/internal/obj: un-embed FuncInfo field in LSym · 17470786
      Matthew Dempsky authored
      Automated refactoring using github.com/mdempsky/unbed (to rewrite
      s.Foo to s.FuncInfo.Foo) and then gorename (to rename the FuncInfo
      field to just Func).
      
      Passes toolstash-check -all.
      
      Change-Id: I802c07a1239e0efea058a91a87c5efe12170083a
      Reviewed-on: https://go-review.googlesource.com/40670
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      17470786
    • Josh Bleecher Snyder's avatar
      cmd/compile: eliminate dead code in if statements after typechecking · dffe5ac9
      Josh Bleecher Snyder authored
      This is a more thorough and cleaner fix
      than doing dead code elimination separately
      during inlining, escape analysis, and export.
      
      Unfortunately, it does add another full walk of the AST.
      The performance impact is very small, but not non-zero.
      
      If a label or goto is present in the dead code, it is not eliminated.
      This restriction can be removed once label/goto checking occurs
      much earlier in the compiler. In practice, it probably doesn't
      matter much.
      
      Updates #19699
      Fixes #19705
      
      name       old alloc/op      new alloc/op      delta
      Template        39.2MB ± 0%       39.3MB ± 0%  +0.28%  (p=0.008 n=5+5)
      Unicode         29.8MB ± 0%       29.8MB ± 0%    ~     (p=1.000 n=5+5)
      GoTypes          113MB ± 0%        113MB ± 0%  -0.55%  (p=0.008 n=5+5)
      SSA             1.25GB ± 0%       1.25GB ± 0%  +0.02%  (p=0.008 n=5+5)
      Flate           25.3MB ± 0%       25.3MB ± 0%  -0.24%  (p=0.032 n=5+5)
      GoParser        31.7MB ± 0%       31.8MB ± 0%  +0.31%  (p=0.008 n=5+5)
      Reflect         78.2MB ± 0%       78.3MB ± 0%    ~     (p=0.421 n=5+5)
      Tar             26.6MB ± 0%       26.7MB ± 0%  +0.21%  (p=0.008 n=5+5)
      XML             42.2MB ± 0%       42.2MB ± 0%    ~     (p=0.056 n=5+5)
      
      name       old allocs/op     new allocs/op     delta
      Template          385k ± 0%         387k ± 0%  +0.51%  (p=0.016 n=5+5)
      Unicode           321k ± 0%         321k ± 0%    ~     (p=1.000 n=5+5)
      GoTypes          1.14M ± 0%        1.14M ± 0%    ~     (p=1.000 n=5+5)
      SSA              9.71M ± 0%        9.72M ± 0%  +0.10%  (p=0.008 n=5+5)
      Flate             234k ± 1%         234k ± 1%    ~     (p=0.690 n=5+5)
      GoParser          315k ± 0%         317k ± 0%  +0.71%  (p=0.008 n=5+5)
      Reflect           980k ± 0%         983k ± 0%  +0.30%  (p=0.032 n=5+5)
      Tar               251k ± 0%         252k ± 0%  +0.55%  (p=0.016 n=5+5)
      XML               392k ± 0%         393k ± 0%  +0.30%  (p=0.008 n=5+5)
      
      Change-Id: Ia10ff4bbf5c6eae782582cc9cbc9785494d4fb83
      Reviewed-on: https://go-review.googlesource.com/38773
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      dffe5ac9
    • Sebastien Binet's avatar
      reflect: document ptrdata field of rtype · 2ef340f2
      Sebastien Binet authored
      This CL adds a simple explanation about what means the ptrdata field of
      the reflect.rtype type.
      Also document that rtype needs to be kept in sync with the runtime._type
      type that rtype mirrors.
      
      Change-Id: Icd9663a2e4bb94d922a2417cfe4537861d2ccc97
      Reviewed-on: https://go-review.googlesource.com/40917Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      2ef340f2
    • Daniel Martí's avatar
      all: remove unnecessary ", _" from map reads · bdf746ca
      Daniel Martí authored
      If the bool value isn't used, there is no need to assign to underscore -
      there is a shorter form that only returns the value and behaves in the
      exact same way.
      
      Change-Id: Iaf801b8e966da6c2f565bc39e3bb028175c92d60
      Reviewed-on: https://go-review.googlesource.com/40920
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      bdf746ca
    • Aliaksandr Valialkin's avatar
      sync: improve Pool performance · af5c9511
      Aliaksandr Valialkin authored
      Rewrite indexLocal to achieve higher performance.
      
      Performance results on linux/amd64:
      
      name            old time/op  new time/op  delta
      Pool-4          19.1ns ± 2%  10.1ns ± 1%  -47.15%  (p=0.000 n=10+8)
      PoolOverflow-4  3.11µs ± 1%  2.10µs ± 2%  -32.66%  (p=0.000 n=10+10)
      
      Performance results on linux/386:
      
      name            old time/op  new time/op  delta
      Pool-4          20.0ns ± 2%  13.1ns ± 1%  -34.59%  (p=0.000 n=10+9)
      PoolOverflow-4  3.51µs ± 1%  2.49µs ± 0%  -28.99%  (p=0.000 n=10+8)
      
      Change-Id: I7d57a2d4cd47ec43d09ca1267bde2e3f05a9faa9
      Reviewed-on: https://go-review.googlesource.com/40913Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      af5c9511
    • Josh Bleecher Snyder's avatar
      cmd/compile: remove stray blank assignment · c239fbb8
      Josh Bleecher Snyder authored
      Left over from CL 39855.
      
      Change-Id: I9df8b5c631d5afbdbf2fb306876648d8541931d3
      Reviewed-on: https://go-review.googlesource.com/40941
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarDave Cheney <dave@cheney.net>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      c239fbb8
    • Mikio Hara's avatar
      net, internal/poll, net/internal/socktest: use accept4 and SOCK_{CLOEXEC,NONBLOCK} on dragonfly · 33c34770
      Mikio Hara authored
      Fixes #14222
      
      Change-Id: I026fc9499fdefc33b8bb58b5963e2290adacbf63
      Reviewed-on: https://go-review.googlesource.com/40895Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      33c34770
    • Mikio Hara's avatar
      syscall: add Accept4 and SOCK_{CLOEXEC,NONBLOCK} on dragonfly · 7b5e0b76
      Mikio Hara authored
      This change just picks a few constants from DragonfFly BSD 4.6 kernel
      and doesn't synchronize all the existing constants with the latest
      DragonFly BSD kernels.
      
      Updates #14222.
      
      Change-Id: Ie107a8bee1a09393b3b42b6f82489532f5d13290
      Reviewed-on: https://go-review.googlesource.com/40894Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      7b5e0b76
    • Josh Bleecher Snyder's avatar
      cmd/compile: look up more runtime symbols before SSA begins · 245ef3a1
      Josh Bleecher Snyder authored
      This avoids concurrent runtime package lookups.
      
      Updates #15756
      
      Change-Id: I9e2cbd042aba44923f0d03e6ca5b4eb60fa9e7ea
      Reviewed-on: https://go-review.googlesource.com/40853
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      245ef3a1
    • Josh Bleecher Snyder's avatar
      cmd/internal/obj: unexport Link.Hash · 9d4a8467
      Josh Bleecher Snyder authored
      A prior CL eliminated the last reference to Ctxt.Hash
      from the compiler.
      
      Change-Id: Ic97ff84ed1a14e0c93fb0e8ec0b2617c3397c0e8
      Reviewed-on: https://go-review.googlesource.com/40699
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      9d4a8467
    • Josh Bleecher Snyder's avatar
      cmd/compile: relocate large comment to plive.go · b3fb6b00
      Josh Bleecher Snyder authored
      It was a bit weird to have it at the top of pgen.go.
      This does half of the TODO at the top of the comment.
      
      Change-Id: I65140fa05673b2dbb6feddb8c1877f6d624a7844
      Reviewed-on: https://go-review.googlesource.com/40698
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      b3fb6b00
    • Josh Bleecher Snyder's avatar
      cmd/internal/obj: rework gclocals handling · da15fe68
      Josh Bleecher Snyder authored
      The compiler handled gcargs and gclocals LSyms unusually.
      It generated placeholder symbols (makefuncdatasym),
      filled them in, and then renamed them for content-addressability.
      This is an important binary size optimization;
      the same locals information occurs over and over.
      
      This CL continues to treat these LSyms unusually,
      but in a slightly more explicit way,
      and importantly for concurrent compilation,
      in a way that does not require concurrent
      modification of Ctxt.Hash.
      
      Instead of creating gcargs and gclocals in the usual way,
      by creating a types.Sym and then an obj.LSym,
      we add them directly to obj.FuncInfo,
      initialize them in obj.InitTextSym,
      and deduplicate and add them to ctxt.Data at the end.
      Then the backend's job is simply to fill them in
      and rename them appropriately.
      
      Updates #15756
      
      name       old alloc/op      new alloc/op      delta
      Template        38.8MB ± 0%       38.7MB ± 0%  -0.22%  (p=0.016 n=5+5)
      Unicode         29.8MB ± 0%       29.8MB ± 0%    ~     (p=0.690 n=5+5)
      GoTypes          113MB ± 0%        113MB ± 0%  -0.24%  (p=0.008 n=5+5)
      SSA             1.25GB ± 0%       1.24GB ± 0%  -0.39%  (p=0.008 n=5+5)
      Flate           25.3MB ± 0%       25.2MB ± 0%  -0.43%  (p=0.008 n=5+5)
      GoParser        31.7MB ± 0%       31.7MB ± 0%  -0.22%  (p=0.008 n=5+5)
      Reflect         78.2MB ± 0%       77.6MB ± 0%  -0.80%  (p=0.008 n=5+5)
      Tar             26.6MB ± 0%       26.3MB ± 0%  -0.85%  (p=0.008 n=5+5)
      XML             42.4MB ± 0%       41.9MB ± 0%  -1.04%  (p=0.008 n=5+5)
      
      name       old allocs/op     new allocs/op     delta
      Template          378k ± 0%         377k ± 1%    ~     (p=0.151 n=5+5)
      Unicode           321k ± 1%         321k ± 0%    ~     (p=0.841 n=5+5)
      GoTypes          1.14M ± 0%        1.14M ± 0%  -0.47%  (p=0.016 n=5+5)
      SSA              9.71M ± 0%        9.67M ± 0%  -0.33%  (p=0.008 n=5+5)
      Flate             233k ± 1%         232k ± 1%    ~     (p=0.151 n=5+5)
      GoParser          316k ± 0%         315k ± 0%  -0.49%  (p=0.016 n=5+5)
      Reflect           979k ± 0%         972k ± 0%  -0.75%  (p=0.008 n=5+5)
      Tar               250k ± 0%         247k ± 1%  -0.92%  (p=0.008 n=5+5)
      XML               392k ± 1%         389k ± 0%  -0.67%  (p=0.008 n=5+5)
      
      Change-Id: Idc36186ca9d2f8214b5f7720bbc27b6bb22fdc48
      Reviewed-on: https://go-review.googlesource.com/40697
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      da15fe68
  2. 17 Apr, 2017 20 commits
  3. 16 Apr, 2017 3 commits
    • Takuto Ikuta's avatar
      regexp: Use []bool instead of map[uint32]bool in makeOnePass · a306a851
      Takuto Ikuta authored
      Variable m is accessed like variable onePassRunes.
      So, we can use array instead of map for variable m.
      
      Onepass compile performance is improved 10~20%.
      
      name                                      old time/op    new time/op    delta
      CompileOnepass/^(?:(?:(?:.(?:$))?))...-4    4.60µs ± 1%    4.10µs ± 1%  -10.98%  (p=0.008 n=5+5)
      CompileOnepass/^abcd$-4                     3.76µs ± 2%    3.33µs ± 1%  -11.43%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a{0,})*?)$-4          4.47µs ± 1%    4.14µs ± 1%   -7.49%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a+)*)$-4              4.07µs ± 1%    3.81µs ± 2%   -6.60%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a|(?:aa)))$-4         5.21µs ± 1%    4.80µs ± 2%   -7.90%  (p=0.008 n=5+5)
      CompileOnepass/^(?:[^\s\S])$-4              3.26µs ± 1%    3.06µs ± 1%   -6.15%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:(?:a*)+))$-4          4.33µs ± 0%    4.04µs ± 3%   -6.78%  (p=0.008 n=5+5)
      CompileOnepass/^[a-c]+$-4                   3.33µs ± 1%    3.06µs ± 4%   -8.24%  (p=0.008 n=5+5)
      CompileOnepass/^[a-c]*$-4                   3.69µs ± 1%    3.39µs ± 4%   -8.26%  (p=0.008 n=5+5)
      CompileOnepass/^(?:a*)$-4                   3.78µs ± 2%    3.36µs ± 0%  -11.09%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:aa)|a)$-4             5.11µs ± 1%    4.60µs ± 1%   -9.85%  (p=0.008 n=5+5)
      CompileOnepass/^...$-4                      3.51µs ± 1%    3.25µs ± 1%   -7.37%  (p=0.008 n=5+5)
      CompileOnepass/^(?:a|(?:aa))$-4             5.05µs ± 1%    4.59µs ± 1%   -9.13%  (p=0.008 n=5+5)
      CompileOnepass/^a((b))c$-4                  5.24µs ± 1%    4.66µs ± 1%  -11.16%  (p=0.008 n=5+5)
      CompileOnepass/^a.[l-nA-Cg-j]?e$-4          5.94µs ± 7%    5.02µs ± 1%  -15.62%  (p=0.008 n=5+5)
      CompileOnepass/^a((b))$-4                   5.34µs ± 7%    4.21µs ± 2%  -21.05%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:(b)|(c))c$-4            7.25µs ± 7%    5.86µs ± 1%  -19.17%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b|c)$-4                 4.13µs ± 9%    3.35µs ± 1%  -18.99%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b?|c)$-4                6.48µs ± 4%    5.05µs ± 1%  -22.16%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b?|c+)$-4               7.05µs ± 7%    5.48µs ± 1%  -22.21%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:bc)+$-4                 4.71µs ± 4%    3.85µs ± 0%  -18.14%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:[bcd])+$-4              4.10µs ± 2%    3.69µs ± 1%   -9.98%  (p=0.008 n=5+5)
      CompileOnepass/^a((?:[bcd])+)$-4            5.20µs ± 1%    4.59µs ± 0%  -11.72%  (p=0.008 n=5+5)
      CompileOnepass/^a(:?b|c)*d$-4               9.29µs ± 2%    8.23µs ± 1%  -11.43%  (p=0.008 n=5+5)
      CompileOnepass/^.bc(d|e)*$-4                6.33µs ± 3%    5.51µs ± 5%  -12.95%  (p=0.008 n=5+5)
      CompileOnepass/^loooooooooooooooooo...-4     162µs ± 0%     138µs ± 2%  -14.70%  (p=0.008 n=5+5)
      
      name                                      old alloc/op   new alloc/op   delta
      CompileOnepass/^(?:(?:(?:.(?:$))?))...-4    3.38kB ± 0%    3.27kB ± 0%   -3.08%  (p=0.008 n=5+5)
      CompileOnepass/^abcd$-4                     2.74kB ± 0%    2.59kB ± 0%   -5.54%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a{0,})*?)$-4          3.34kB ± 0%    3.23kB ± 0%   -3.12%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a+)*)$-4              2.95kB ± 0%    2.85kB ± 0%   -3.52%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a|(?:aa)))$-4         3.74kB ± 0%    3.58kB ± 0%   -4.07%  (p=0.008 n=5+5)
      CompileOnepass/^(?:[^\s\S])$-4              2.45kB ± 0%    2.35kB ± 0%   -4.20%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:(?:a*)+))$-4          3.13kB ± 0%    3.02kB ± 0%   -3.32%  (p=0.008 n=5+5)
      CompileOnepass/^[a-c]+$-4                   2.48kB ± 0%    2.38kB ± 0%   -4.19%  (p=0.008 n=5+5)
      CompileOnepass/^[a-c]*$-4                   2.52kB ± 0%    2.42kB ± 0%   -4.13%  (p=0.008 n=5+5)
      CompileOnepass/^(?:a*)$-4                   2.63kB ± 0%    2.53kB ± 0%   -3.95%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:aa)|a)$-4             3.62kB ± 0%    3.47kB ± 0%   -4.19%  (p=0.008 n=5+5)
      CompileOnepass/^...$-4                      2.87kB ± 0%    2.78kB ± 0%   -3.34%  (p=0.008 n=5+5)
      CompileOnepass/^(?:a|(?:aa))$-4             3.62kB ± 0%    3.47kB ± 0%   -4.19%  (p=0.008 n=5+5)
      CompileOnepass/^a((b))c$-4                  4.38kB ± 0%    4.23kB ± 0%   -3.33%  (p=0.008 n=5+5)
      CompileOnepass/^a.[l-nA-Cg-j]?e$-4          4.30kB ± 0%    4.15kB ± 0%   -3.35%  (p=0.008 n=5+5)
      CompileOnepass/^a((b))$-4                   4.05kB ± 0%    3.90kB ± 0%   -3.56%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:(b)|(c))c$-4            5.30kB ± 0%    5.05kB ± 0%   -4.83%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b|c)$-4                 2.87kB ± 0%    2.77kB ± 0%   -3.62%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b?|c)$-4                4.35kB ± 0%    4.21kB ± 0%   -3.31%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b?|c+)$-4               4.58kB ± 0%    4.44kB ± 0%   -3.14%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:bc)+$-4                 3.15kB ± 0%    3.00kB ± 0%   -4.82%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:[bcd])+$-4              2.94kB ± 0%    2.84kB ± 0%   -3.53%  (p=0.008 n=5+5)
      CompileOnepass/^a((?:[bcd])+)$-4            4.08kB ± 0%    3.94kB ± 0%   -3.53%  (p=0.008 n=5+5)
      CompileOnepass/^a(:?b|c)*d$-4               6.10kB ± 0%    5.85kB ± 0%   -4.19%  (p=0.008 n=5+5)
      CompileOnepass/^.bc(d|e)*$-4                4.46kB ± 0%    4.31kB ± 0%   -3.28%  (p=0.008 n=5+5)
      CompileOnepass/^loooooooooooooooooo...-4     135kB ± 0%     127kB ± 0%   -5.88%  (p=0.008 n=5+5)
      
      name                                      old allocs/op  new allocs/op  delta
      CompileOnepass/^(?:(?:(?:.(?:$))?))...-4      47.0 ± 0%      46.0 ± 0%   -2.13%  (p=0.008 n=5+5)
      CompileOnepass/^abcd$-4                       41.0 ± 0%      40.0 ± 0%   -2.44%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a{0,})*?)$-4            49.0 ± 0%      48.0 ± 0%   -2.04%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a+)*)$-4                44.0 ± 0%      43.0 ± 0%   -2.27%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:a|(?:aa)))$-4           54.0 ± 0%      53.0 ± 0%   -1.85%  (p=0.008 n=5+5)
      CompileOnepass/^(?:[^\s\S])$-4                33.0 ± 0%      32.0 ± 0%   -3.03%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:(?:a*)+))$-4            46.0 ± 0%      45.0 ± 0%   -2.17%  (p=0.008 n=5+5)
      CompileOnepass/^[a-c]+$-4                     36.0 ± 0%      35.0 ± 0%   -2.78%  (p=0.008 n=5+5)
      CompileOnepass/^[a-c]*$-4                     41.0 ± 0%      40.0 ± 0%   -2.44%  (p=0.008 n=5+5)
      CompileOnepass/^(?:a*)$-4                     42.0 ± 0%      41.0 ± 0%   -2.38%  (p=0.008 n=5+5)
      CompileOnepass/^(?:(?:aa)|a)$-4               53.0 ± 0%      52.0 ± 0%   -1.89%  (p=0.008 n=5+5)
      CompileOnepass/^...$-4                        39.0 ± 0%      38.0 ± 0%   -2.56%  (p=0.008 n=5+5)
      CompileOnepass/^(?:a|(?:aa))$-4               53.0 ± 0%      52.0 ± 0%   -1.89%  (p=0.008 n=5+5)
      CompileOnepass/^a((b))c$-4                    53.0 ± 0%      52.0 ± 0%   -1.89%  (p=0.008 n=5+5)
      CompileOnepass/^a.[l-nA-Cg-j]?e$-4            56.0 ± 0%      55.0 ± 0%   -1.79%  (p=0.008 n=5+5)
      CompileOnepass/^a((b))$-4                     47.0 ± 0%      46.0 ± 0%   -2.13%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:(b)|(c))c$-4              65.0 ± 0%      64.0 ± 0%   -1.54%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b|c)$-4                   40.0 ± 0%      39.0 ± 0%   -2.50%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b?|c)$-4                  57.0 ± 0%      56.0 ± 0%   -1.75%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:b?|c+)$-4                 63.0 ± 0%      62.0 ± 0%   -1.59%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:bc)+$-4                   46.0 ± 0%      45.0 ± 0%   -2.17%  (p=0.008 n=5+5)
      CompileOnepass/^a(?:[bcd])+$-4                43.0 ± 0%      42.0 ± 0%   -2.33%  (p=0.008 n=5+5)
      CompileOnepass/^a((?:[bcd])+)$-4              49.0 ± 0%      48.0 ± 0%   -2.04%  (p=0.008 n=5+5)
      CompileOnepass/^a(:?b|c)*d$-4                  101 ± 0%       100 ± 0%   -0.99%  (p=0.008 n=5+5)
      CompileOnepass/^.bc(d|e)*$-4                  60.0 ± 0%      59.0 ± 0%   -1.67%  (p=0.008 n=5+5)
      CompileOnepass/^loooooooooooooooooo...-4     1.09k ± 0%     1.08k ± 0%   -0.74%  (p=0.008 n=5+5)
      
      Fixes #19984
      
      Change-Id: I2268b28d068926a057c62751528de15b6de61a7b
      Reviewed-on: https://go-review.googlesource.com/40890Reviewed-by: 's avatarRalph Corderoy <ralph@inputplus.co.uk>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      a306a851
    • Andreas Auernhammer's avatar
      vendor: update golang_org/x/net/route package · d71863ad
      Andreas Auernhammer authored
      Update the route package to git rev 6b27048a.
      
      Introduce the following changes:
       - 6b27048 route: drop support for go1.5
       - b7fd658 route: fix typo
       - 41bba8d route: add support for the manipulation of routing informaion
      
      Updates #19967
      
      Change-Id: Id2bb93df97a45254a2df2b048db0143e3e52bbdf
      Reviewed-on: https://go-review.googlesource.com/40830
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      d71863ad
    • Josh Bleecher Snyder's avatar
      cmd/compile: remove flag_largemodel · 0e4824aa
      Josh Bleecher Snyder authored
      It was added in 2013 in CL 7064048.
      All uses of it in the compiler disappeared with
      (or possibly before) the SSA backend.
      Several releases have gone by without it,
      from which I conclude that it is now not needed.
      
      Change-Id: I2095f4ac05d4d7ab998168993a7fd5d954aeee88
      Reviewed-on: https://go-review.googlesource.com/40856
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      0e4824aa
  4. 15 Apr, 2017 4 commits