• Evan Shaw's avatar
    big: Add Lsh and Value; convert pidigits to use big · 76cbbc8a
    Evan Shaw authored
    This yields a pretty significant performance boost to pidigits and there are still some improvements to be made. Here are my numbers:
    
    amd64 w/ bignum:
    pidigits 10000
            gcc -O2 pidigits.c -lgmp        2.10u 0.00s 2.10r
            gc pidigits     22.92u 0.02s 22.97r
            gc_B pidigits   22.62u 0.00s 22.65r
    
    amd64 w/ big:
    pidigits 10000
            gcc -O2 pidigits.c -lgmp        2.09u 0.02s 2.11r
            gc pidigits     12.68u 0.04s 12.72r
            gc_B pidigits   12.71u 0.03s 12.75r
    
    386 w/ bignum:
    pidigits 10000
            gcc -O2 pidigits.c -lgmp        2.09u 0.00s 2.09r
            gc pidigits     44.30u 0.01s 44.35r
            gc_B pidigits   44.29u 0.03s 44.35r
    
    386 w/ big:
    pidigits 10000
            gcc -O2 pidigits.c -lgmp        2.10u 0.00s 2.10r
            gc pidigits     22.70u 0.06s 22.79r
            gc_B pidigits   22.80u 0.09s 22.91r
    
    R=rsc, gri
    CC=golang-dev
    https://golang.org/cl/881050
    76cbbc8a
Name
Last commit
Last update
..
bench Loading commit data...
bugs Loading commit data...
chan Loading commit data...
fixedbugs Loading commit data...
garbage Loading commit data...
interface Loading commit data...
ken Loading commit data...
nilptr Loading commit data...
syntax Loading commit data...
235.go Loading commit data...
64bit.go Loading commit data...
args.go Loading commit data...
arm-pass.txt Loading commit data...
assign.go Loading commit data...
bigalg.go Loading commit data...
blank.go Loading commit data...
blank1.go Loading commit data...
chancap.go Loading commit data...
char_lit.go Loading commit data...
closedchan.go Loading commit data...
closure.go Loading commit data...
cmp1.go Loading commit data...
cmp2.go Loading commit data...
cmp3.go Loading commit data...
cmp4.go Loading commit data...
cmp5.go Loading commit data...
cmplx.go Loading commit data...
complit.go Loading commit data...
compos.go Loading commit data...
const.go Loading commit data...
const1.go Loading commit data...
const2.go Loading commit data...
const3.go Loading commit data...
convert.go Loading commit data...
convert3.go Loading commit data...
convlit.go Loading commit data...
convlit1.go Loading commit data...
copy.go Loading commit data...
ddd.go Loading commit data...
ddd1.go Loading commit data...
ddd2.go Loading commit data...
ddd3.go Loading commit data...
decl.go Loading commit data...
declbad.go Loading commit data...
defer.go Loading commit data...
deferprint.go Loading commit data...
empty.go Loading commit data...
env.go Loading commit data...
errchk Loading commit data...
escape.go Loading commit data...
float_lit.go Loading commit data...
floatcmp.go Loading commit data...
for.go Loading commit data...
func.go Loading commit data...
func1.go Loading commit data...
func2.go Loading commit data...
func3.go Loading commit data...
func4.go Loading commit data...
func5.go Loading commit data...
gc.go Loading commit data...
gc1.go Loading commit data...
golden-arm.out Loading commit data...
golden.out Loading commit data...
hashmap.go Loading commit data...
helloworld.go Loading commit data...
hilbert.go Loading commit data...
if.go Loading commit data...
if1.go Loading commit data...
import.go Loading commit data...
import1.go Loading commit data...
import2.go Loading commit data...
import3.go Loading commit data...
import4.go Loading commit data...
indirect.go Loading commit data...
indirect1.go Loading commit data...
initcomma.go Loading commit data...
initialize.go Loading commit data...
initializerr.go Loading commit data...
initsyscall.go Loading commit data...
int_lit.go Loading commit data...
intcvt.go Loading commit data...
iota.go Loading commit data...
literal.go Loading commit data...
malloc1.go Loading commit data...
mallocfin.go Loading commit data...
mallocrand.go Loading commit data...
mallocrep.go Loading commit data...
mallocrep1.go Loading commit data...
map.go Loading commit data...
method.go Loading commit data...
method1.go Loading commit data...
method2.go Loading commit data...
method3.go Loading commit data...
nacl-pass.txt Loading commit data...
named.go Loading commit data...
named1.go Loading commit data...
nil.go Loading commit data...
nul1.go Loading commit data...
parentype.go Loading commit data...
peano.go Loading commit data...
printbig.go Loading commit data...
range.go Loading commit data...
recover.go Loading commit data...
recover1.go Loading commit data...
recover2.go Loading commit data...
recover3.go Loading commit data...
rename.go Loading commit data...
rename1.go Loading commit data...
run Loading commit data...
run-arm Loading commit data...
run-nacl Loading commit data...
runtime.go Loading commit data...
sieve.go Loading commit data...
sigchld.go Loading commit data...
simassign.go Loading commit data...
stack.go Loading commit data...
string_lit.go Loading commit data...
stringrange.go Loading commit data...
switch.go Loading commit data...
switch1.go Loading commit data...
test0.go Loading commit data...
turing.go Loading commit data...
typeswitch.go Loading commit data...
typeswitch1.go Loading commit data...
typeswitch2.go Loading commit data...
utf.go Loading commit data...
varinit.go Loading commit data...
vectors.go Loading commit data...