Example #1
0
func DeleteRange(b *testing.B, store raft.LogStore) {
	// Create some fake data. In this case, we create 3 new log entries for each
	// test case, and separate them by index in multiples of 10. This allows
	// some room so that we can test deleting ranges with "extra" logs to
	// to ensure we stop going to the database once our max index is hit.
	var logs []*raft.Log
	for n := 0; n < b.N; n++ {
		offset := 10 * n
		for i := offset; i < offset+3; i++ {
			logs = append(logs, &raft.Log{Index: uint64(i), Data: []byte("data")})
		}
	}
	if err := store.StoreLogs(logs); err != nil {
		b.Fatalf("err: %s", err)
	}
	b.ResetTimer()

	// Delete a range of the data
	for n := 0; n < b.N; n++ {
		offset := 10 * n
		if err := store.DeleteRange(uint64(offset), uint64(offset+9)); err != nil {
			b.Fatalf("err: %s", err)
		}
	}
}