|
|
- package clist
-
- import "testing"
-
- func BenchmarkDetaching(b *testing.B) {
- lst := New()
- for i := 0; i < b.N+1; i++ {
- lst.PushBack(i)
- }
- start := lst.Front()
- nxt := start.Next()
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- start.removed = true
- start.DetachNext()
- start.DetachPrev()
- tmp := nxt
- nxt = nxt.Next()
- start = tmp
- }
- }
-
- // This is used to benchmark the time of RMutex.
- func BenchmarkRemoved(b *testing.B) {
- lst := New()
- for i := 0; i < b.N+1; i++ {
- lst.PushBack(i)
- }
- start := lst.Front()
- nxt := start.Next()
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- start.Removed()
- tmp := nxt
- nxt = nxt.Next()
- start = tmp
- }
- }
-
- func BenchmarkPushBack(b *testing.B) {
- lst := New()
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- lst.PushBack(i)
- }
- }
|