]> Sergey Matveev's repositories - btrtrc.git/commitdiff
iplist: Benchmark parsing lines
authorMatt Joiner <anacrolix@gmail.com>
Tue, 2 Dec 2014 20:54:37 +0000 (14:54 -0600)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 2 Dec 2014 20:54:37 +0000 (14:54 -0600)
iplist/iplist_test.go

index d6ef083a43cbd50ba0c691564063772ca755a3ab..cc934c104d652ee27181ef126f8596404541a8ff 100644 (file)
@@ -13,18 +13,29 @@ var sample = `
 a:1.2.4.0-1.2.4.255
 b:1.2.8.0-1.2.8.255`
 
-func TestSimple(t *testing.T) {
-       var ranges []Range
+func sampleRanges(tb testing.TB) (ranges []Range, err error) {
        scanner := bufio.NewScanner(strings.NewReader(sample))
        for scanner.Scan() {
                r, ok, _ := ParseBlocklistP2PLine(scanner.Text())
                if ok {
-                       t.Log(r)
+                       // tb.Log(r)
                        ranges = append(ranges, r)
                }
        }
-       if err := scanner.Err(); err != nil {
-               t.Fatalf("error while scanning: %s", err)
+       err = scanner.Err()
+       return
+}
+
+func BenchmarkParseP2pBlocklist(b *testing.B) {
+       for i := 0; i < b.N; i++ {
+               sampleRanges(b)
+       }
+}
+
+func TestSimple(t *testing.T) {
+       ranges, err := sampleRanges(t)
+       if err != nil {
+               t.Fatal(err)
        }
        if len(ranges) != 2 {
                t.Fatalf("expected 2 ranges but got %d", len(ranges))