go test -bench BenchmarkSparseAdvance -run -
(b *testing.B)
| 642 | |
| 643 | // go test -bench BenchmarkSparseAdvance -run - |
| 644 | func BenchmarkSparseAdvanceRoaring(b *testing.B) { |
| 645 | b.StopTimer() |
| 646 | |
| 647 | s := NewBitmap() |
| 648 | initsize := 65000 |
| 649 | |
| 650 | for i := 0; i < initsize; i++ { |
| 651 | s.Add(uint32(i)) |
| 652 | } |
| 653 | |
| 654 | for _, gap := range []int{1, 2, 65, 650} { |
| 655 | b.Run(fmt.Sprintf("advance from %d", gap), func(b *testing.B) { |
| 656 | b.ReportAllocs() |
| 657 | b.StartTimer() |
| 658 | |
| 659 | diff := uint32(0) |
| 660 | |
| 661 | for n := 0; n < b.N; n++ { |
| 662 | val := uint32((gap * n) % initsize) |
| 663 | |
| 664 | i := s.Iterator() |
| 665 | i.AdvanceIfNeeded(val) |
| 666 | |
| 667 | diff += i.PeekNext() - val |
| 668 | } |
| 669 | |
| 670 | b.StopTimer() |
| 671 | |
| 672 | if diff != 0 { |
| 673 | b.Fatalf("Expected diff 0, got %d", diff) |
| 674 | } |
| 675 | }) |
| 676 | } |
| 677 | } |
| 678 | |
| 679 | // go test -bench BenchmarkSparseAdvance -run - |
| 680 | func BenchmarkSparseAdvanceOnHugeData(b *testing.B) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…