• Aliaksandr Valialkin's avatar
    math/big: re-use memory in Int.GCD · 187afdeb
    Aliaksandr Valialkin authored
    This improves TLS handshake performance.
    
    benchmark                                 old ns/op     new ns/op     delta
    BenchmarkGCD10x10/WithoutXY-4             965           968           +0.31%
    BenchmarkGCD10x10/WithXY-4                1813          1391          -23.28%
    BenchmarkGCD10x100/WithoutXY-4            1093          1075          -1.65%
    BenchmarkGCD10x100/WithXY-4               2348          1676          -28.62%
    BenchmarkGCD10x1000/WithoutXY-4           1569          1565          -0.25%
    BenchmarkGCD10x1000/WithXY-4              4262          3242          -23.93%
    BenchmarkGCD10x10000/WithoutXY-4          6069          6066          -0.05%
    BenchmarkGCD10x10000/WithXY-4             12123         11331         -6.53%
    BenchmarkGCD10x100000/WithoutXY-4         52664         52610         -0.10%
    BenchmarkGCD10x100000/WithXY-4            97494         95649         -1.89%
    BenchmarkGCD100x100/WithoutXY-4           5244          5228          -0.31%
    BenchmarkGCD100x100/WithXY-4              22572         18630         -17.46%
    BenchmarkGCD100x1000/WithoutXY-4          6143          6233          +1.47%
    BenchmarkGCD100x1000/WithXY-4             24652         19357         -21.48%
    BenchmarkGCD100x10000/WithoutXY-4         15725         15804         +0.50%
    BenchmarkGCD100x10000/WithXY-4            60552         55973         -7.56%
    BenchmarkGCD100x100000/WithoutXY-4        107008        107853        +0.79%
    BenchmarkGCD100x100000/WithXY-4           349597        340994        -2.46%
    BenchmarkGCD1000x1000/WithoutXY-4         63785         64434         +1.02%
    BenchmarkGCD1000x1000/WithXY-4            373186        334035        -10.49%
    BenchmarkGCD1000x10000/WithoutXY-4        78038         78241         +0.26%
    BenchmarkGCD1000x10000/WithXY-4           543692        507034        -6.74%
    BenchmarkGCD1000x100000/WithoutXY-4       205607        207727        +1.03%
    BenchmarkGCD1000x100000/WithXY-4          2488113       2415323       -2.93%
    BenchmarkGCD10000x10000/WithoutXY-4       1731340       1714992       -0.94%
    BenchmarkGCD10000x10000/WithXY-4          10601046      7111329       -32.92%
    BenchmarkGCD10000x100000/WithoutXY-4      2239155       2212173       -1.21%
    BenchmarkGCD10000x100000/WithXY-4         30097040      26538887      -11.82%
    BenchmarkGCD100000x100000/WithoutXY-4     119845326     119863916     +0.02%
    BenchmarkGCD100000x100000/WithXY-4        768006543     426795966     -44.43%
    
    benchmark                                 old allocs     new allocs     delta
    BenchmarkGCD10x10/WithoutXY-4             5              5              +0.00%
    BenchmarkGCD10x10/WithXY-4                17             9              -47.06%
    BenchmarkGCD10x100/WithoutXY-4            6              6              +0.00%
    BenchmarkGCD10x100/WithXY-4               21             9              -57.14%
    BenchmarkGCD10x1000/WithoutXY-4           6              6              +0.00%
    BenchmarkGCD10x1000/WithXY-4              30             12             -60.00%
    BenchmarkGCD10x10000/WithoutXY-4          6              6              +0.00%
    BenchmarkGCD10x10000/WithXY-4             26             12             -53.85%
    BenchmarkGCD10x100000/WithoutXY-4         6              6              +0.00%
    BenchmarkGCD10x100000/WithXY-4            28             12             -57.14%
    BenchmarkGCD100x100/WithoutXY-4           5              5              +0.00%
    BenchmarkGCD100x100/WithXY-4              183            61             -66.67%
    BenchmarkGCD100x1000/WithoutXY-4          8              8              +0.00%
    BenchmarkGCD100x1000/WithXY-4             170            47             -72.35%
    BenchmarkGCD100x10000/WithoutXY-4         8              8              +0.00%
    BenchmarkGCD100x10000/WithXY-4            200            67             -66.50%
    BenchmarkGCD100x100000/WithoutXY-4        8              8              +0.00%
    BenchmarkGCD100x100000/WithXY-4           188            65             -65.43%
    BenchmarkGCD1000x1000/WithoutXY-4         5              5              +0.00%
    BenchmarkGCD1000x1000/WithXY-4            2435           1193           -51.01%
    BenchmarkGCD1000x10000/WithoutXY-4        8              8              +0.00%
    BenchmarkGCD1000x10000/WithXY-4           2211           1076           -51.33%
    BenchmarkGCD1000x100000/WithoutXY-4       8              8              +0.00%
    BenchmarkGCD1000x100000/WithXY-4          2271           1108           -51.21%
    BenchmarkGCD10000x10000/WithoutXY-4       5              5              +0.00%
    BenchmarkGCD10000x10000/WithXY-4          23183          11605          -49.94%
    BenchmarkGCD10000x100000/WithoutXY-4      8              8              +0.00%
    BenchmarkGCD10000x100000/WithXY-4         23421          11717          -49.97%
    BenchmarkGCD100000x100000/WithoutXY-4     5              5              +0.00%
    BenchmarkGCD100000x100000/WithXY-4        232976         116815         -49.86%
    
    benchmark                                 old bytes      new bytes     delta
    BenchmarkGCD10x10/WithoutXY-4             208            208           +0.00%
    BenchmarkGCD10x10/WithXY-4                736            432           -41.30%
    BenchmarkGCD10x100/WithoutXY-4            256            256           +0.00%
    BenchmarkGCD10x100/WithXY-4               896            432           -51.79%
    BenchmarkGCD10x1000/WithoutXY-4           368            368           +0.00%
    BenchmarkGCD10x1000/WithXY-4              1856           1152          -37.93%
    BenchmarkGCD10x10000/WithoutXY-4          1616           1616          +0.00%
    BenchmarkGCD10x10000/WithXY-4             7920           7376          -6.87%
    BenchmarkGCD10x100000/WithoutXY-4         13776          13776         +0.00%
    BenchmarkGCD10x100000/WithXY-4            68800          68176         -0.91%
    BenchmarkGCD100x100/WithoutXY-4           208            208           +0.00%
    BenchmarkGCD100x100/WithXY-4              6960           2112          -69.66%
    BenchmarkGCD100x1000/WithoutXY-4          544            560           +2.94%
    BenchmarkGCD100x1000/WithXY-4             7280           2400          -67.03%
    BenchmarkGCD100x10000/WithoutXY-4         2896           2912          +0.55%
    BenchmarkGCD100x10000/WithXY-4            15280          10002         -34.54%
    BenchmarkGCD100x100000/WithoutXY-4        27344          27365         +0.08%
    BenchmarkGCD100x100000/WithXY-4           88288          83427         -5.51%
    BenchmarkGCD1000x1000/WithoutXY-4         544            544           +0.00%
    BenchmarkGCD1000x1000/WithXY-4            178288         40043         -77.54%
    BenchmarkGCD1000x10000/WithoutXY-4        3344           3136          -6.22%
    BenchmarkGCD1000x10000/WithXY-4           188720         54432         -71.16%
    BenchmarkGCD1000x100000/WithoutXY-4       27792          27592         -0.72%
    BenchmarkGCD1000x100000/WithXY-4          373872         239447        -35.95%
    BenchmarkGCD10000x10000/WithoutXY-4       4288           4288          +0.00%
    BenchmarkGCD10000x10000/WithXY-4          11935584       481875        -95.96%
    BenchmarkGCD10000x100000/WithoutXY-4      31296          28834         -7.87%
    BenchmarkGCD10000x100000/WithXY-4         13237088       1662620       -87.44%
    BenchmarkGCD100000x100000/WithoutXY-4     40768          40768         +0.00%
    BenchmarkGCD100000x100000/WithXY-4        1165518864     14256010      -98.78%
    
    Change-Id: I652b3244bd074a03f3bc9a87c282330f9e5f1507
    Reviewed-on: https://go-review.googlesource.com/21506Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    187afdeb
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...