diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-11-19 21:10:04 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-11-19 22:01:46 -0800 |
commit | 8ffb773f43c8dc54801ca1d111854e7e881c93c9 (patch) | |
tree | 38133a2fc612597a75fed1d13e5b4042f58a2b7e /vendor/github.com/andybalholm/cascadia/benchmark_test.go |
First commit
Diffstat (limited to 'vendor/github.com/andybalholm/cascadia/benchmark_test.go')
-rw-r--r-- | vendor/github.com/andybalholm/cascadia/benchmark_test.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/vendor/github.com/andybalholm/cascadia/benchmark_test.go b/vendor/github.com/andybalholm/cascadia/benchmark_test.go new file mode 100644 index 0000000..42bf500 --- /dev/null +++ b/vendor/github.com/andybalholm/cascadia/benchmark_test.go @@ -0,0 +1,53 @@ +package cascadia + +import ( + "strings" + "testing" + + "golang.org/x/net/html" +) + +func MustParseHTML(doc string) *html.Node { + dom, err := html.Parse(strings.NewReader(doc)) + if err != nil { + panic(err) + } + return dom +} + +var selector = MustCompile(`div.matched`) +var doc = `<!DOCTYPE html> +<html> +<body> +<div class="matched"> + <div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + <div class="matched"></div> + </div> +</div> +</body> +</html> +` +var dom = MustParseHTML(doc) + +func BenchmarkMatchAll(b *testing.B) { + var matches []*html.Node + for i := 0; i < b.N; i++ { + matches = selector.MatchAll(dom) + } + _ = matches +} |