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 }