diff --git a/bench_array_test.go b/bench_array_test.go index 6883bb7..b291c7f 100644 --- a/bench_array_test.go +++ b/bench_array_test.go @@ -65,12 +65,12 @@ func BenchmarkIndex(b *testing.B) { var j int b.StopTimer() - sel := DocB().Root.Find("#main") + sel := DocB().Root.Find("#Main") b.StartTimer() for i := 0; i < b.N; i++ { j = sel.Index() } - b.Logf("Index=%d\n", j) + b.Logf("Index=%d", j) } func BenchmarkIndexSelector(b *testing.B) { @@ -82,7 +82,7 @@ func BenchmarkIndexSelector(b *testing.B) { for i := 0; i < b.N; i++ { j = sel.IndexSelector("dd") } - b.Logf("IndexSelector=%d\n", j) + b.Logf("IndexSelector=%d", j) } func BenchmarkIndexOfNode(b *testing.B) { @@ -96,7 +96,7 @@ func BenchmarkIndexOfNode(b *testing.B) { for i := 0; i < b.N; i++ { j = sel.IndexOfNode(n) } - b.Logf("IndexOfNode=%d\n", j) + b.Logf("IndexOfNode=%d", j) } func BenchmarkIndexOfSelection(b *testing.B) { @@ -108,5 +108,5 @@ func BenchmarkIndexOfSelection(b *testing.B) { for i := 0; i < b.N; i++ { j = sel.IndexOfSelection(sel2) } - b.Logf("IndexOfSelection=%d\n", j) + b.Logf("IndexOfSelection=%d", j) } diff --git a/bench_expand_test.go b/bench_expand_test.go new file mode 100644 index 0000000..ad63d7e --- /dev/null +++ b/bench_expand_test.go @@ -0,0 +1,72 @@ +package goquery + +import ( + "testing" +) + +func BenchmarkAdd(b *testing.B) { + var n int + + b.StopTimer() + sel := DocB().Root.Find("dd") + b.StartTimer() + for i := 0; i < b.N; i++ { + if n == 0 { + n = sel.Add("h2[title]").Length() + } else { + sel.Add("h2[title]") + } + } + b.Logf("Add=%d", n) +} + +func BenchmarkAddSelection(b *testing.B) { + var n int + + b.StopTimer() + sel := DocB().Root.Find("dd") + sel2 := DocB().Root.Find("h2[title]") + b.StartTimer() + for i := 0; i < b.N; i++ { + if n == 0 { + n = sel.AddSelection(sel2).Length() + } else { + sel.AddSelection(sel2) + } + } + b.Logf("AddSelection=%d", n) +} + +func BenchmarkAddNodes(b *testing.B) { + var n int + + b.StopTimer() + sel := DocB().Root.Find("dd") + sel2 := DocB().Root.Find("h2[title]") + nodes := sel2.Nodes + b.StartTimer() + for i := 0; i < b.N; i++ { + if n == 0 { + n = sel.AddNodes(nodes...).Length() + } else { + sel.AddNodes(nodes...) + } + } + b.Logf("AddNodes=%d", n) +} + +func BenchmarkAndSelf(b *testing.B) { + var n int + + b.StopTimer() + sel := DocB().Root.Find("dd").Parent() + b.StartTimer() + for i := 0; i < b.N; i++ { + if n == 0 { + n = sel.AndSelf().Length() + } else { + sel.AndSelf() + } + } + b.Logf("AndSelf=%d", n) +}