• Robert Griesemer's avatar
    math/big: more conservative use of lock for divisor table · 4bee88d4
    Robert Griesemer authored
    Minor performance impact running sequentially:
    
    benchmark                      old ns/op    new ns/op    delta
    BenchmarkString10Base2               389          391   +0.51%
    BenchmarkString100Base2             1530         1534   +0.26%
    BenchmarkString1000Base2           11789        11787   -0.02%
    BenchmarkString10000Base2         111443       112030   +0.53%
    BenchmarkString100000Base2       1017483      1015347   -0.21%
    BenchmarkString10Base8               339          344   +1.47%
    BenchmarkString100Base8              753          756   +0.40%
    BenchmarkString1000Base8            4618         4641   +0.50%
    BenchmarkString10000Base8          43217        43534   +0.73%
    BenchmarkString100000Base8        397518       400602   +0.78%
    BenchmarkString10Base10              630          630   +0.00%
    BenchmarkString100Base10            1975         1960   -0.76%
    BenchmarkString1000Base10          10179        10174   -0.05%
    BenchmarkString10000Base10         44527        44416   -0.25%
    BenchmarkString100000Base10     14404694     14425308   +0.14%
    BenchmarkString10Base16              283          288   +1.77%
    BenchmarkString100Base16             597          598   +0.17%
    BenchmarkString1000Base16           3189         3186   -0.09%
    BenchmarkString10000Base16         29403        29364   -0.13%
    BenchmarkString100000Base16       265657       265587   -0.03%
    
    Note that due to other improvements (faster assembly routines,
    better code generation by compiler), these benchmarks now run
    up to 37% faster than they used to at the last time measured (1/9/2012).
    
    Minor performance impact for StringPiParallel running in parallel:
    
    Current CL but with Lock/Unlock commented out (removed):
    
    BenchmarkStringPiParallel	    5000	    343581 ns/op
    BenchmarkStringPiParallel-2	   10000	    184511 ns/op
    BenchmarkStringPiParallel-3	   10000	    129768 ns/op
    BenchmarkStringPiParallel-4	   10000	    102326 ns/op
    
    Current CL:
    
    BenchmarkStringPiParallel	    5000	    345169 ns/op
    BenchmarkStringPiParallel-2	   10000	    185827 ns/op
    BenchmarkStringPiParallel-3	   10000	    131168 ns/op
    BenchmarkStringPiParallel-4	   10000	    102353 ns/op
    
    Fixes #4218.
    
    R=dvyukov, michael.jones, dave
    CC=golang-dev
    https://golang.org/cl/6643053
    4bee88d4
Name
Last commit
Last update
..
big Loading commit data...
cmplx Loading commit data...
rand Loading commit data...
abs.go Loading commit data...
abs_386.s Loading commit data...
abs_amd64.s Loading commit data...
abs_arm.s Loading commit data...
acosh.go Loading commit data...
all_test.go Loading commit data...
asin.go Loading commit data...
asin_386.s Loading commit data...
asin_amd64.s Loading commit data...
asin_arm.s Loading commit data...
asinh.go Loading commit data...
atan.go Loading commit data...
atan2.go Loading commit data...
atan2_386.s Loading commit data...
atan2_amd64.s Loading commit data...
atan2_arm.s Loading commit data...
atan_386.s Loading commit data...
atan_amd64.s Loading commit data...
atan_arm.s Loading commit data...
atanh.go Loading commit data...
bits.go Loading commit data...
cbrt.go Loading commit data...
const.go Loading commit data...
copysign.go Loading commit data...
dim.go Loading commit data...
dim_386.s Loading commit data...
dim_amd64.s Loading commit data...
dim_arm.s Loading commit data...
erf.go Loading commit data...
exp.go Loading commit data...
exp2_386.s Loading commit data...
exp2_amd64.s Loading commit data...
exp2_arm.s Loading commit data...
exp_386.s Loading commit data...
exp_amd64.s Loading commit data...
exp_arm.s Loading commit data...
expm1.go Loading commit data...
expm1_386.s Loading commit data...
expm1_amd64.s Loading commit data...
expm1_arm.s Loading commit data...
export_test.go Loading commit data...
floor.go Loading commit data...
floor_386.s Loading commit data...
floor_amd64.s Loading commit data...
floor_arm.s Loading commit data...
fltasm_amd64.s Loading commit data...
frexp.go Loading commit data...
frexp_386.s Loading commit data...
frexp_amd64.s Loading commit data...
frexp_arm.s Loading commit data...
gamma.go Loading commit data...
hypot.go Loading commit data...
hypot_386.s Loading commit data...
hypot_amd64.s Loading commit data...
hypot_arm.s Loading commit data...
j0.go Loading commit data...
j1.go Loading commit data...
jn.go Loading commit data...
ldexp.go Loading commit data...
ldexp_386.s Loading commit data...
ldexp_amd64.s Loading commit data...
ldexp_arm.s Loading commit data...
lgamma.go Loading commit data...
log.go Loading commit data...
log10.go Loading commit data...
log10_386.s Loading commit data...
log10_amd64.s Loading commit data...
log10_arm.s Loading commit data...
log1p.go Loading commit data...
log1p_386.s Loading commit data...
log1p_amd64.s Loading commit data...
log1p_arm.s Loading commit data...
log_386.s Loading commit data...
log_amd64.s Loading commit data...
log_arm.s Loading commit data...
logb.go Loading commit data...
mod.go Loading commit data...
mod_386.s Loading commit data...
mod_amd64.s Loading commit data...
mod_arm.s Loading commit data...
modf.go Loading commit data...
modf_386.s Loading commit data...
modf_amd64.s Loading commit data...
modf_arm.s Loading commit data...
nextafter.go Loading commit data...
pow.go Loading commit data...
pow10.go Loading commit data...
remainder.go Loading commit data...
remainder_386.s Loading commit data...
remainder_amd64.s Loading commit data...
remainder_arm.s Loading commit data...
signbit.go Loading commit data...
sin.go Loading commit data...
sin_386.s Loading commit data...
sin_amd64.s Loading commit data...
sin_arm.s Loading commit data...
sincos.go Loading commit data...
sincos_386.s Loading commit data...
sincos_amd64.s Loading commit data...
sincos_arm.s Loading commit data...
sinh.go Loading commit data...
sqrt.go Loading commit data...
sqrt_386.s Loading commit data...
sqrt_amd64.s Loading commit data...
sqrt_arm.s Loading commit data...
tan.go Loading commit data...
tan_386.s Loading commit data...
tan_amd64.s Loading commit data...
tan_arm.s Loading commit data...
tanh.go Loading commit data...
unsafe.go Loading commit data...