github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/goquery/bench_array_test.go (about)

     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  	b.Logf("Index=%d", j)
    74  }
    75  
    76  func BenchmarkIndexSelector(b *testing.B) {
    77  	var j int
    78  
    79  	b.StopTimer()
    80  	sel := DocB().Find("#manual-nav dl dd:nth-child(1)")
    81  	b.StartTimer()
    82  	for i := 0; i < b.N; i++ {
    83  		j = sel.IndexSelector("dd")
    84  	}
    85  	b.Logf("IndexSelector=%d", j)
    86  }
    87  
    88  func BenchmarkIndexOfNode(b *testing.B) {
    89  	var j int
    90  
    91  	b.StopTimer()
    92  	sel := DocB().Find("span a")
    93  	sel2 := DocB().Find("span a:nth-child(3)")
    94  	n := sel2.Get(0)
    95  	b.StartTimer()
    96  	for i := 0; i < b.N; i++ {
    97  		j = sel.IndexOfNode(n)
    98  	}
    99  	b.Logf("IndexOfNode=%d", j)
   100  }
   101  
   102  func BenchmarkIndexOfSelection(b *testing.B) {
   103  	var j int
   104  	b.StopTimer()
   105  	sel := DocB().Find("span a")
   106  	sel2 := DocB().Find("span a:nth-child(3)")
   107  	b.StartTimer()
   108  	for i := 0; i < b.N; i++ {
   109  		j = sel.IndexOfSelection(sel2)
   110  	}
   111  	b.Logf("IndexOfSelection=%d", j)
   112  }