...

Source file src/github.com/PuerkitoBio/goquery/bench_array_test.go

Documentation: github.com/PuerkitoBio/goquery

     1  package goquery
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func BenchmarkFirst(b *testing.B) {
     8  	b.StopTimer()
     9  	sel := DocB().Find("dd")
    10  	b.StartTimer()
    11  	for i := 0; i < b.N; i++ {
    12  		sel.First()
    13  	}
    14  }
    15  
    16  func BenchmarkLast(b *testing.B) {
    17  	b.StopTimer()
    18  	sel := DocB().Find("dd")
    19  	b.StartTimer()
    20  	for i := 0; i < b.N; i++ {
    21  		sel.Last()
    22  	}
    23  }
    24  
    25  func BenchmarkEq(b *testing.B) {
    26  	b.StopTimer()
    27  	sel := DocB().Find("dd")
    28  	j := 0
    29  	b.StartTimer()
    30  	for i := 0; i < b.N; i++ {
    31  		sel.Eq(j)
    32  		if j++; j >= sel.Length() {
    33  			j = 0
    34  		}
    35  	}
    36  }
    37  
    38  func BenchmarkSlice(b *testing.B) {
    39  	b.StopTimer()
    40  	sel := DocB().Find("dd")
    41  	j := 0
    42  	b.StartTimer()
    43  	for i := 0; i < b.N; i++ {
    44  		sel.Slice(j, j+4)
    45  		if j++; j >= (sel.Length() - 4) {
    46  			j = 0
    47  		}
    48  	}
    49  }
    50  
    51  func BenchmarkGet(b *testing.B) {
    52  	b.StopTimer()
    53  	sel := DocB().Find("dd")
    54  	j := 0
    55  	b.StartTimer()
    56  	for i := 0; i < b.N; i++ {
    57  		sel.Get(j)
    58  		if j++; j >= sel.Length() {
    59  			j = 0
    60  		}
    61  	}
    62  }
    63  
    64  func BenchmarkIndex(b *testing.B) {
    65  	var j int
    66  
    67  	b.StopTimer()
    68  	sel := DocB().Find("#Main")
    69  	b.StartTimer()
    70  	for i := 0; i < b.N; i++ {
    71  		j = sel.Index()
    72  	}
    73  	if j != 3 {
    74  		b.Fatalf("want 3, got %d", j)
    75  	}
    76  }
    77  
    78  func BenchmarkIndexSelector(b *testing.B) {
    79  	var j int
    80  
    81  	b.StopTimer()
    82  	sel := DocB().Find("#manual-nav dl dd:nth-child(1)")
    83  	b.StartTimer()
    84  	for i := 0; i < b.N; i++ {
    85  		j = sel.IndexSelector("dd")
    86  	}
    87  	if j != 4 {
    88  		b.Fatalf("want 4, got %d", j)
    89  	}
    90  }
    91  
    92  func BenchmarkIndexOfNode(b *testing.B) {
    93  	var j int
    94  
    95  	b.StopTimer()
    96  	sel := DocB().Find("span a")
    97  	sel2 := DocB().Find("span a:nth-child(3)")
    98  	n := sel2.Get(0)
    99  	b.StartTimer()
   100  	for i := 0; i < b.N; i++ {
   101  		j = sel.IndexOfNode(n)
   102  	}
   103  	if j != 2 {
   104  		b.Fatalf("want 2, got %d", j)
   105  	}
   106  }
   107  
   108  func BenchmarkIndexOfSelection(b *testing.B) {
   109  	var j int
   110  	b.StopTimer()
   111  	sel := DocB().Find("span a")
   112  	sel2 := DocB().Find("span a:nth-child(3)")
   113  	b.StartTimer()
   114  	for i := 0; i < b.N; i++ {
   115  		j = sel.IndexOfSelection(sel2)
   116  	}
   117  	if j != 2 {
   118  		b.Fatalf("want 2, got %d", j)
   119  	}
   120  }
   121  

View as plain text