1
0
mirror of https://github.com/golang/go synced 2024-11-21 20:14:52 -07:00
The Go programming language
Go to file
Robert Griesemer b2183701c0 big: implemented Karatsuba multiplication
Plus:
- calibration "test" - include in tests with gotest -calibrate
- basic Mul benchmark
- extra multiplication tests
- various cleanups

This change improves multiplication speed of numbers >= 30 words
in length (current threshold; found empirically with calibrate):

The multiplication benchmark (multiplication of a variety of long numbers)
improves by ~35%, individual multiplies can be significantly faster.

gotest -benchmarks=Mul
big.BenchmarkMul	     500	   6829290 ns/op (w/ Karatsuba)
big.BenchmarkMul	     100	  10600760 ns/op

There's no impact on pidigits for -n=10000 or -n=20000
because the operands are are too small.

R=rsc
CC=golang-dev
https://golang.org/cl/1004042
2010-04-27 19:16:08 -07:00
doc go spec: fix wrong comment 2010-04-27 17:52:44 -07:00
include Fix *l/*c -V flag segfault 2010-02-08 11:53:27 -08:00
lib godoc: add codewalk support 2010-04-26 22:35:12 -07:00
misc runtime: closures, defer bug fix for Native Client 2010-04-22 17:52:22 -07:00
pkg
src big: implemented Karatsuba multiplication 2010-04-27 19:16:08 -07:00
test pidigits: ~10% performance win by using adds instead of shifts 2010-04-27 14:06:53 -07:00
.hgignore rename cgo2c to goc2c in ignored list 2010-04-26 22:49:14 -07:00
.hgtags release.2010-04-13 part two 2010-04-14 15:48:48 +10:00
AUTHORS CLA: Andrei Vieru 2010-04-12 10:11:18 -07:00
CONTRIBUTORS add Sam Thorogood (of Google Inc.) to CONTRIBUTORS 2010-04-16 17:40:49 +10:00
favicon.ico
LICENSE Add an explicit patent grant to the Go license. 2010-01-25 15:39:32 -08:00
README

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install.html in your web browser.

After installing Go, you can view a nicely formatted
doc/install.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install.html.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.