1. 29 Oct, 2019 10 commits
  2. 28 Oct, 2019 22 commits
  3. 27 Oct, 2019 3 commits
  4. 26 Oct, 2019 5 commits
    • Josh Bleecher Snyder's avatar
      crypto/tls: move a defer out of a loop · 0f559941
      Josh Bleecher Snyder authored
      Rhys Hiltner noted in #14939 that this defer was
      syntactically inside a loop, but was only ever
      
      executed once. Now that defer in a loop
      is significantly slower, pull this one out.
      
      name                                    old time/op   new time/op   delta
      Throughput/MaxPacket/1MB/TLSv12-8        3.94ms ± 8%   3.93ms ±13%    ~     (p=0.967 n=15+15)
      Throughput/MaxPacket/1MB/TLSv13-8        4.33ms ± 3%   4.51ms ± 7%  +4.00%  (p=0.000 n=14+14)
      Throughput/MaxPacket/2MB/TLSv12-8        6.80ms ± 6%   7.01ms ± 4%  +3.15%  (p=0.000 n=14+14)
      Throughput/MaxPacket/2MB/TLSv13-8        6.96ms ± 5%   6.80ms ± 5%  -2.43%  (p=0.006 n=15+14)
      Throughput/MaxPacket/4MB/TLSv12-8        12.0ms ± 3%   11.7ms ± 2%  -2.88%  (p=0.000 n=15+13)
      Throughput/MaxPacket/4MB/TLSv13-8        12.1ms ± 3%   11.7ms ± 2%  -3.54%  (p=0.000 n=13+13)
      Throughput/MaxPacket/8MB/TLSv12-8        22.2ms ± 3%   21.6ms ± 3%  -2.97%  (p=0.000 n=15+15)
      Throughput/MaxPacket/8MB/TLSv13-8        22.5ms ± 5%   22.0ms ± 3%  -2.34%  (p=0.004 n=15+15)
      Throughput/MaxPacket/16MB/TLSv12-8       42.4ms ± 3%   41.3ms ± 3%  -2.49%  (p=0.001 n=15+15)
      Throughput/MaxPacket/16MB/TLSv13-8       43.4ms ± 5%   42.3ms ± 3%  -2.33%  (p=0.006 n=15+14)
      Throughput/MaxPacket/32MB/TLSv12-8       83.1ms ± 4%   80.6ms ± 3%  -2.98%  (p=0.000 n=15+15)
      Throughput/MaxPacket/32MB/TLSv13-8       85.2ms ± 8%   82.6ms ± 4%  -3.02%  (p=0.005 n=15+15)
      Throughput/MaxPacket/64MB/TLSv12-8        167ms ± 7%    158ms ± 2%  -5.21%  (p=0.000 n=15+15)
      Throughput/MaxPacket/64MB/TLSv13-8        170ms ± 4%    162ms ± 3%  -4.83%  (p=0.000 n=15+15)
      Throughput/DynamicPacket/1MB/TLSv12-8    4.13ms ± 7%   4.00ms ± 8%    ~     (p=0.061 n=15+15)
      Throughput/DynamicPacket/1MB/TLSv13-8    4.72ms ± 6%   4.64ms ± 7%    ~     (p=0.377 n=14+15)
      Throughput/DynamicPacket/2MB/TLSv12-8    7.29ms ± 7%   7.09ms ± 7%    ~     (p=0.070 n=15+14)
      Throughput/DynamicPacket/2MB/TLSv13-8    7.18ms ± 5%   6.59ms ± 4%  -8.34%  (p=0.000 n=15+15)
      Throughput/DynamicPacket/4MB/TLSv12-8    12.3ms ± 3%   11.9ms ± 4%  -3.31%  (p=0.000 n=15+14)
      Throughput/DynamicPacket/4MB/TLSv13-8    12.2ms ± 4%   12.0ms ± 4%  -1.91%  (p=0.019 n=15+15)
      Throughput/DynamicPacket/8MB/TLSv12-8    22.4ms ± 3%   21.9ms ± 3%  -2.18%  (p=0.000 n=15+15)
      Throughput/DynamicPacket/8MB/TLSv13-8    22.7ms ± 3%   22.2ms ± 3%  -2.35%  (p=0.000 n=15+15)
      Throughput/DynamicPacket/16MB/TLSv12-8   42.3ms ± 3%   42.1ms ± 3%    ~     (p=0.505 n=14+15)
      Throughput/DynamicPacket/16MB/TLSv13-8   42.7ms ± 3%   43.3ms ± 7%    ~     (p=0.123 n=15+14)
      Throughput/DynamicPacket/32MB/TLSv12-8   82.8ms ± 3%   81.9ms ± 3%    ~     (p=0.112 n=14+15)
      Throughput/DynamicPacket/32MB/TLSv13-8   84.6ms ± 6%   83.9ms ± 4%    ~     (p=0.624 n=15+15)
      Throughput/DynamicPacket/64MB/TLSv12-8    166ms ± 4%    163ms ± 6%    ~     (p=0.081 n=15+15)
      Throughput/DynamicPacket/64MB/TLSv13-8    165ms ± 3%    168ms ± 3%  +1.56%  (p=0.029 n=15+15)
      
      Change-Id: I22409b05afe761b8ed1912b15c67fc03f88d3d1f
      Reviewed-on: https://go-review.googlesource.com/c/go/+/203481
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      0f559941
    • Giovanni Bajo's avatar
      test: add test for fixed internal compiler error · 5d000a8b
      Giovanni Bajo authored
      Updates #35157 (the bug there was fixed by CL200861)
      
      Change-Id: I67069207b4cdc2ad4a475dd0bbc8555ecc5f534f
      Reviewed-on: https://go-review.googlesource.com/c/go/+/203598
      Run-TryBot: Giovanni Bajo <rasky@develer.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarAlberto Donizetti <alb.donizetti@gmail.com>
      5d000a8b
    • Giovanni Bajo's avatar
      cmd/compile: in poset, implement path collapsing · c70e5475
      Giovanni Bajo authored
      Sometimes, poset needs to collapse a path making all nodes in
      the path aliases. For instance, we know that A<=N1<=B and we
      learn that B<=A, we can deduce A==N1==B, and thus we can
      collapse all paths from A to B into a single aliased node.
      
      Currently, this is a TODO. This CL implements the path-collapsing
      primitive by doing a DFS walk to build a bitset of all nodes
      across all paths, and then calling the new aliasnodes that allow
      to mark multiple nodes as aliases of a single master node.
      
      This helps only 4 times in std+cmd, but it will be fundamental
      when we will rely on poset to calculate numerical limits, to
      calculate the correct values.
      
      This also fixes #35157, a bug uncovered by a previous CL in this
      serie. A testcase will be added soon.
      
      Change-Id: I5fc54259711769d7bd7c2d166a5abc1cddc26350
      Reviewed-on: https://go-review.googlesource.com/c/go/+/200861
      Run-TryBot: Giovanni Bajo <rasky@develer.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      c70e5475
    • Giovanni Bajo's avatar
      cmd/compile: in poset, allow multiple aliases in a single pass · 18d57bc8
      Giovanni Bajo authored
      Change aliasnode into aliasnodes, to allow for recording
      multiple aliases in a single pass. The nodes being aliased
      are passed as bitset for performance reason (O(1) lookups).
      It does look worse in the existing case of SetEqual where
      we now need to allocate a bitset just for a single node,
      but the new API will allow to fully implement a path-collapsing
      primitive in next CL.
      
      No functional changes, passes toolstash -cmp.
      
      Change-Id: I06259610e8ef478106b36852464ed2caacd29ab5
      Reviewed-on: https://go-review.googlesource.com/c/go/+/200860Reviewed-by: default avatarKeith Randall <khr@golang.org>
      Run-TryBot: Giovanni Bajo <rasky@develer.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      18d57bc8
    • Giovanni Bajo's avatar
      cmd/compile: in poset, refactor aliasnode · 7e68f81d
      Giovanni Bajo authored
      In preparation for allowing to make multiple nodes as aliases
      in a single pass, refactor aliasnode splitting out the case
      in which one of the nodes is not in the post into a new
      funciton (aliasnewnode).
      
      No functional changes, passes toolstash -cmp
      
      Change-Id: I19ca6ef8426f8aec9f2622b6151c5c617dbb25b5
      Reviewed-on: https://go-review.googlesource.com/c/go/+/200859Reviewed-by: default avatarKeith Randall <khr@golang.org>
      Run-TryBot: Giovanni Bajo <rasky@develer.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      7e68f81d