github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/goquery/bench_expand_test.go (about) 1 package goquery 2 3 import ( 4 "testing" 5 ) 6 7 func BenchmarkAdd(b *testing.B) { 8 var n int 9 10 b.StopTimer() 11 sel := DocB().Find("dd") 12 b.StartTimer() 13 for i := 0; i < b.N; i++ { 14 if n == 0 { 15 n = sel.Add("h2[title]").Length() 16 } else { 17 sel.Add("h2[title]") 18 } 19 } 20 b.Logf("Add=%d", n) 21 } 22 23 func BenchmarkAddSelection(b *testing.B) { 24 var n int 25 26 b.StopTimer() 27 sel := DocB().Find("dd") 28 sel2 := DocB().Find("h2[title]") 29 b.StartTimer() 30 for i := 0; i < b.N; i++ { 31 if n == 0 { 32 n = sel.AddSelection(sel2).Length() 33 } else { 34 sel.AddSelection(sel2) 35 } 36 } 37 b.Logf("AddSelection=%d", n) 38 } 39 40 func BenchmarkAddNodes(b *testing.B) { 41 var n int 42 43 b.StopTimer() 44 sel := DocB().Find("dd") 45 sel2 := DocB().Find("h2[title]") 46 nodes := sel2.Nodes 47 b.StartTimer() 48 for i := 0; i < b.N; i++ { 49 if n == 0 { 50 n = sel.AddNodes(nodes...).Length() 51 } else { 52 sel.AddNodes(nodes...) 53 } 54 } 55 b.Logf("AddNodes=%d", n) 56 } 57 58 func BenchmarkAndSelf(b *testing.B) { 59 var n int 60 61 b.StopTimer() 62 sel := DocB().Find("dd").Parent() 63 b.StartTimer() 64 for i := 0; i < b.N; i++ { 65 if n == 0 { 66 n = sel.AndSelf().Length() 67 } else { 68 sel.AndSelf() 69 } 70 } 71 b.Logf("AndSelf=%d", n) 72 }