}
func BenchmarkScanInts(b *testing.B) {
- b.ResetTimer()
+ b.StopTimer()
ints := makeInts(intCount)
var r RecursiveInt
- for i := b.N - 1; i >= 0; i-- {
+ for i := 0; i < b.N; i++ {
buf := bytes.NewBuffer(ints)
b.StartTimer()
scanInts(&r, buf)
}
func BenchmarkScanRecursiveInt(b *testing.B) {
- b.ResetTimer()
+ b.StopTimer()
ints := makeInts(intCount)
var r RecursiveInt
- for i := b.N - 1; i >= 0; i-- {
+ for i := 0; i < b.N; i++ {
buf := bytes.NewBuffer(ints)
b.StartTimer()
Fscan(buf, &r)
}
func BenchmarkScanRecursiveIntReaderWrapper(b *testing.B) {
- b.ResetTimer()
+ b.StopTimer()
ints := makeInts(intCount)
var r RecursiveInt
- for i := b.N - 1; i >= 0; i-- {
+ for i := 0; i < b.N; i++ {
buf := struct{ io.Reader }{strings.NewReader(string(ints))}
b.StartTimer()
Fscan(buf, &r)
func BenchmarkBinomial(b *testing.B) {
var z Int
- for i := b.N - 1; i >= 0; i-- {
+ for i := 0; i < b.N; i++ {
z.Binomial(1000, 990)
}
}
z := new(Int)
z.SetBit(z, 512, 1)
b.ResetTimer()
- b.StartTimer()
for i := b.N - 1; i >= 0; i-- {
z.SetBit(z, i&512, 1)
}
z := NewInt(-1)
z.SetBit(z, 512, 0)
b.ResetTimer()
- b.StartTimer()
for i := b.N - 1; i >= 0; i-- {
z.SetBit(z, i&512, 0)
}
z := new(Int)
altSetBit(z, z, 512, 1)
b.ResetTimer()
- b.StartTimer()
for i := b.N - 1; i >= 0; i-- {
altSetBit(z, z, i&512, 1)
}
z := NewInt(-1)
altSetBit(z, z, 512, 0)
b.ResetTimer()
- b.StartTimer()
for i := b.N - 1; i >= 0; i-- {
altSetBit(z, z, i&512, 0)
}