Skip to content

Commit db318b7

Browse files
committed
Add benchmark
1 parent 1013626 commit db318b7

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

top_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package graph
22

33
import (
4+
"math/rand"
45
"testing"
56
)
67

@@ -80,3 +81,35 @@ func TestAcyclic(t *testing.T) {
8081
t.Errorf("Acyclic %s", mess)
8182
}
8283
}
84+
85+
func BenchmarkAcyclic(b *testing.B) {
86+
n := 1000
87+
b.StopTimer()
88+
g := New(n)
89+
for i := 0; i < 2*n; i++ {
90+
v, w := rand.Intn(n), rand.Intn(n)
91+
if v < w {
92+
g.AddBoth(v, w)
93+
}
94+
}
95+
b.StartTimer()
96+
for i := 0; i < b.N; i++ {
97+
_ = Acyclic(g)
98+
}
99+
}
100+
101+
func BenchmarkTopSort(b *testing.B) {
102+
n := 1000
103+
b.StopTimer()
104+
g := New(n)
105+
for i := 0; i < 2*n; i++ {
106+
v, w := rand.Intn(n), rand.Intn(n)
107+
if v < w {
108+
g.AddBoth(v, w)
109+
}
110+
}
111+
b.StartTimer()
112+
for i := 0; i < b.N; i++ {
113+
_, _ = TopSort(g)
114+
}
115+
}

0 commit comments

Comments
 (0)