844 changed files with 15763 additions and 202671 deletions
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
module lexis |
||||
|
||||
go 1.16 |
||||
|
||||
require ( |
||||
github.com/PuerkitoBio/goquery v1.6.1 |
||||
github.com/gorilla/mux v1.8.0 |
||||
) |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
github.com/PuerkitoBio/goquery v1.6.1 h1:FgjbQZKl5HTmcn4sKBgvx8vv63nhyhIpv7lJpFGCWpk= |
||||
github.com/PuerkitoBio/goquery v1.6.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= |
||||
github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo= |
||||
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= |
||||
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= |
||||
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= |
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= |
||||
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= |
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= |
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= |
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= |
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= |
Binary file not shown.
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
testdata/* linguist-vendored |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
# editor temporary files |
||||
*.sublime-* |
||||
.DS_Store |
||||
*.swp |
||||
#*.*# |
||||
tags |
||||
|
||||
# direnv config |
||||
.env* |
||||
|
||||
# test binaries |
||||
*.test |
||||
|
||||
# coverage and profilte outputs |
||||
*.out |
||||
|
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
arch: |
||||
- amd64 |
||||
- ppc64le |
||||
language: go |
||||
|
||||
go: |
||||
- 1.2.x |
||||
- 1.3.x |
||||
- 1.4.x |
||||
- 1.5.x |
||||
- 1.6.x |
||||
- 1.7.x |
||||
- 1.8.x |
||||
- 1.9.x |
||||
- 1.10.x |
||||
- 1.11.x |
||||
- 1.12.x |
||||
- 1.13.x |
||||
- tip |
||||
|
||||
jobs: |
||||
exclude: |
||||
- arch: ppc64le |
||||
go: 1.2.x |
||||
- arch: ppc64le |
||||
go: 1.3.x |
||||
- arch: ppc64le |
||||
go: 1.4.x |
||||
- arch: ppc64le |
||||
go: 1.5.x |
||||
- arch: ppc64le |
||||
go: 1.6.x |
||||
- arch: ppc64le |
||||
go: 1.7.x |
||||
- arch: ppc64le |
||||
go: 1.8.x |
||||
- arch: ppc64le |
||||
go: 1.9.x |
||||
- arch: ppc64le |
||||
go: 1.10.x |
||||
- arch: ppc64le |
||||
go: 1.11.x |
||||
- arch: ppc64le |
||||
go: 1.12.x |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
module github.com/PuerkitoBio/goquery |
||||
|
||||
require ( |
||||
github.com/andybalholm/cascadia v1.1.0 |
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 |
||||
) |
||||
|
||||
go 1.13 |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo= |
||||
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= |
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= |
||||
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= |
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= |
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= |
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= |
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= |
@ -0,0 +1,833 @@
@@ -0,0 +1,833 @@
|
||||
package cascadia |
||||
|
||||
import ( |
||||
"bytes" |
||||
"fmt" |
||||
"regexp" |
||||
"strings" |
||||
|
||||
"golang.org/x/net/html" |
||||
) |
||||
|
||||
// Matcher is the interface for basic selector functionality.
|
||||
// Match returns whether a selector matches n.
|
||||
type Matcher interface { |
||||
Match(n *html.Node) bool |
||||
} |
||||
|
||||
// Sel is the interface for all the functionality provided by selectors.
|
||||
// It is currently the same as Matcher, but other methods may be added in the
|
||||
// future.
|
||||
type Sel interface { |
||||
Matcher |
||||
Specificity() Specificity |
||||
} |
||||
|
||||
// Parse parses a selector.
|
||||
func Parse(sel string) (Sel, error) { |
||||
p := &parser{s: sel} |
||||
compiled, err := p.parseSelector() |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
|
||||
if p.i < len(sel) { |
||||
return nil, fmt.Errorf("parsing %q: %d bytes left over", sel, len(sel)-p.i) |
||||
} |
||||
|
||||
return compiled, nil |
||||
} |
||||
|
||||
// ParseGroup parses a selector, or a group of selectors separated by commas.
|
||||
func ParseGroup(sel string) (SelectorGroup, error) { |
||||
p := &parser{s: sel} |
||||
compiled, err := p.parseSelectorGroup() |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
|
||||
if p.i < len(sel) { |
||||
return nil, fmt.Errorf("parsing %q: %d bytes left over", sel, len(sel)-p.i) |
||||
} |
||||
|
||||
return compiled, nil |
||||
} |
||||
|
||||
// A Selector is a function which tells whether a node matches or not.
|
||||
//
|
||||
// This type is maintained for compatibility; I recommend using the newer and
|
||||
// more idiomatic interfaces Sel and Matcher.
|
||||
type Selector func(*html.Node) bool |
||||
|
||||
// Compile parses a selector and returns, if successful, a Selector object
|
||||
// that can be used to match against html.Node objects.
|
||||
func Compile(sel string) (Selector, error) { |
||||
compiled, err := ParseGroup(sel) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
|
||||
return Selector(compiled.Match), nil |
||||
} |
||||
|
||||
// MustCompile is like Compile, but panics instead of returning an error.
|
||||
func MustCompile(sel string) Selector { |
||||
compiled, err := Compile(sel) |
||||
if err != nil { |
||||
panic(err) |
||||
} |
||||
return compiled |
||||
} |
||||
|
||||
// MatchAll returns a slice of the nodes that match the selector,
|
||||
// from n and its children.
|
||||
func (s Selector) MatchAll(n *html.Node) []*html.Node { |
||||
return s.matchAllInto(n, nil) |
||||
} |
||||
|
||||
func (s Selector) matchAllInto(n *html.Node, storage []*html.Node) []*html.Node { |
||||
if s(n) { |
||||
storage = append(storage, n) |
||||
} |
||||
|
||||
for child := n.FirstChild; child != nil; child = child.NextSibling { |
||||
storage = s.matchAllInto(child, storage) |
||||
} |
||||
|
||||
return storage |
||||
} |
||||
|
||||
func queryInto(n *html.Node, m Matcher, storage []*html.Node) []*html.Node { |
||||
for child := n.FirstChild; child != nil; child = child.NextSibling { |
||||
if m.Match(child) { |
||||
storage = append(storage, child) |
||||
} |
||||
storage = queryInto(child, m, storage) |
||||
} |
||||
|
||||
return storage |
||||
} |
||||
|
||||
// QueryAll returns a slice of all the nodes that match m, from the descendants
|
||||
// of n.
|
||||
func QueryAll(n *html.Node, m Matcher) []*html.Node { |
||||
return queryInto(n, m, nil) |
||||
} |
||||
|
||||
// Match returns true if the node matches the selector.
|
||||
func (s Selector) Match(n *html.Node) bool { |
||||
return s(n) |
||||
} |
||||
|
||||
// MatchFirst returns the first node that matches s, from n and its children.
|
||||
func (s Selector) MatchFirst(n *html.Node) *html.Node { |
||||
if s.Match(n) { |
||||
return n |
||||
} |
||||
|
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
m := s.MatchFirst(c) |
||||
if m != nil { |
||||
return m |
||||
} |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
// Query returns the first node that matches m, from the descendants of n.
|
||||
// If none matches, it returns nil.
|
||||
func Query(n *html.Node, m Matcher) *html.Node { |
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
if m.Match(c) { |
||||
return c |
||||
} |
||||
if matched := Query(c, m); matched != nil { |
||||
return matched |
||||
} |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
||||
// Filter returns the nodes in nodes that match the selector.
|
||||
func (s Selector) Filter(nodes []*html.Node) (result []*html.Node) { |
||||
for _, n := range nodes { |
||||
if s(n) { |
||||
result = append(result, n) |
||||
} |
||||
} |
||||
return result |
||||
} |
||||
|
||||
// Filter returns the nodes that match m.
|
||||
func Filter(nodes []*html.Node, m Matcher) (result []*html.Node) { |
||||
for _, n := range nodes { |
||||
if m.Match(n) { |
||||
result = append(result, n) |
||||
} |
||||
} |
||||
return result |
||||
} |
||||
|
||||
type tagSelector struct { |
||||
tag string |
||||
} |
||||
|
||||
// Matches elements with a given tag name.
|
||||
func (t tagSelector) Match(n *html.Node) bool { |
||||
return n.Type == html.ElementNode && n.Data == t.tag |
||||
} |
||||
|
||||
func (c tagSelector) Specificity() Specificity { |
||||
return Specificity{0, 0, 1} |
||||
} |
||||
|
||||
type classSelector struct { |
||||
class string |
||||
} |
||||
|
||||
// Matches elements by class attribute.
|
||||
func (t classSelector) Match(n *html.Node) bool { |
||||
return matchAttribute(n, "class", func(s string) bool { |
||||
return matchInclude(t.class, s) |
||||
}) |
||||
} |
||||
|
||||
func (c classSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type idSelector struct { |
||||
id string |
||||
} |
||||
|
||||
// Matches elements by id attribute.
|
||||
func (t idSelector) Match(n *html.Node) bool { |
||||
return matchAttribute(n, "id", func(s string) bool { |
||||
return s == t.id |
||||
}) |
||||
} |
||||
|
||||
func (c idSelector) Specificity() Specificity { |
||||
return Specificity{1, 0, 0} |
||||
} |
||||
|
||||
type attrSelector struct { |
||||
key, val, operation string |
||||
regexp *regexp.Regexp |
||||
} |
||||
|
||||
// Matches elements by attribute value.
|
||||
func (t attrSelector) Match(n *html.Node) bool { |
||||
switch t.operation { |
||||
case "": |
||||
return matchAttribute(n, t.key, func(string) bool { return true }) |
||||
case "=": |
||||
return matchAttribute(n, t.key, func(s string) bool { return s == t.val }) |
||||
case "!=": |
||||
return attributeNotEqualMatch(t.key, t.val, n) |
||||
case "~=": |
||||
// matches elements where the attribute named key is a whitespace-separated list that includes val.
|
||||
return matchAttribute(n, t.key, func(s string) bool { return matchInclude(t.val, s) }) |
||||
case "|=": |
||||
return attributeDashMatch(t.key, t.val, n) |
||||
case "^=": |
||||
return attributePrefixMatch(t.key, t.val, n) |
||||
case "$=": |
||||
return attributeSuffixMatch(t.key, t.val, n) |
||||
case "*=": |
||||
return attributeSubstringMatch(t.key, t.val, n) |
||||
case "#=": |
||||
return attributeRegexMatch(t.key, t.regexp, n) |
||||
default: |
||||
panic(fmt.Sprintf("unsuported operation : %s", t.operation)) |
||||
} |
||||
} |
||||
|
||||
// matches elements where the attribute named key satisifes the function f.
|
||||
func matchAttribute(n *html.Node, key string, f func(string) bool) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
for _, a := range n.Attr { |
||||
if a.Key == key && f(a.Val) { |
||||
return true |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// attributeNotEqualMatch matches elements where
|
||||
// the attribute named key does not have the value val.
|
||||
func attributeNotEqualMatch(key, val string, n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
for _, a := range n.Attr { |
||||
if a.Key == key && a.Val == val { |
||||
return false |
||||
} |
||||
} |
||||
return true |
||||
} |
||||
|
||||
// returns true if s is a whitespace-separated list that includes val.
|
||||
func matchInclude(val, s string) bool { |
||||
for s != "" { |
||||
i := strings.IndexAny(s, " \t\r\n\f") |
||||
if i == -1 { |
||||
return s == val |
||||
} |
||||
if s[:i] == val { |
||||
return true |
||||
} |
||||
s = s[i+1:] |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// matches elements where the attribute named key equals val or starts with val plus a hyphen.
|
||||
func attributeDashMatch(key, val string, n *html.Node) bool { |
||||
return matchAttribute(n, key, |
||||
func(s string) bool { |
||||
if s == val { |
||||
return true |
||||
} |
||||
if len(s) <= len(val) { |
||||
return false |
||||
} |
||||
if s[:len(val)] == val && s[len(val)] == '-' { |
||||
return true |
||||
} |
||||
return false |
||||
}) |
||||
} |
||||
|
||||
// attributePrefixMatch returns a Selector that matches elements where
|
||||
// the attribute named key starts with val.
|
||||
func attributePrefixMatch(key, val string, n *html.Node) bool { |
||||
return matchAttribute(n, key, |
||||
func(s string) bool { |
||||
if strings.TrimSpace(s) == "" { |
||||
return false |
||||
} |
||||
return strings.HasPrefix(s, val) |
||||
}) |
||||
} |
||||
|
||||
// attributeSuffixMatch matches elements where
|
||||
// the attribute named key ends with val.
|
||||
func attributeSuffixMatch(key, val string, n *html.Node) bool { |
||||
return matchAttribute(n, key, |
||||
func(s string) bool { |
||||
if strings.TrimSpace(s) == "" { |
||||
return false |
||||
} |
||||
return strings.HasSuffix(s, val) |
||||
}) |
||||
} |
||||
|
||||
// attributeSubstringMatch matches nodes where
|
||||
// the attribute named key contains val.
|
||||
func attributeSubstringMatch(key, val string, n *html.Node) bool { |
||||
return matchAttribute(n, key, |
||||
func(s string) bool { |
||||
if strings.TrimSpace(s) == "" { |
||||
return false |
||||
} |
||||
return strings.Contains(s, val) |
||||
}) |
||||
} |
||||
|
||||
// attributeRegexMatch matches nodes where
|
||||
// the attribute named key matches the regular expression rx
|
||||
func attributeRegexMatch(key string, rx *regexp.Regexp, n *html.Node) bool { |
||||
return matchAttribute(n, key, |
||||
func(s string) bool { |
||||
return rx.MatchString(s) |
||||
}) |
||||
} |
||||
|
||||
func (c attrSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
// ---------------- Pseudo class selectors ----------------
|
||||
// we use severals concrete types of pseudo-class selectors
|
||||
|
||||
type relativePseudoClassSelector struct { |
||||
name string // one of "not", "has", "haschild"
|
||||
match SelectorGroup |
||||
} |
||||
|
||||
func (s relativePseudoClassSelector) Match(n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
switch s.name { |
||||
case "not": |
||||
// matches elements that do not match a.
|
||||
return !s.match.Match(n) |
||||
case "has": |
||||
// matches elements with any descendant that matches a.
|
||||
return hasDescendantMatch(n, s.match) |
||||
case "haschild": |
||||
// matches elements with a child that matches a.
|
||||
return hasChildMatch(n, s.match) |
||||
default: |
||||
panic(fmt.Sprintf("unsupported relative pseudo class selector : %s", s.name)) |
||||
} |
||||
} |
||||
|
||||
// hasChildMatch returns whether n has any child that matches a.
|
||||
func hasChildMatch(n *html.Node, a Matcher) bool { |
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
if a.Match(c) { |
||||
return true |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// hasDescendantMatch performs a depth-first search of n's descendants,
|
||||
// testing whether any of them match a. It returns true as soon as a match is
|
||||
// found, or false if no match is found.
|
||||
func hasDescendantMatch(n *html.Node, a Matcher) bool { |
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
if a.Match(c) || (c.Type == html.ElementNode && hasDescendantMatch(c, a)) { |
||||
return true |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// Specificity returns the specificity of the most specific selectors
|
||||
// in the pseudo-class arguments.
|
||||
// See https://www.w3.org/TR/selectors/#specificity-rules
|
||||
func (s relativePseudoClassSelector) Specificity() Specificity { |
||||
var max Specificity |
||||
for _, sel := range s.match { |
||||
newSpe := sel.Specificity() |
||||
if max.Less(newSpe) { |
||||
max = newSpe |
||||
} |
||||
} |
||||
return max |
||||
} |
||||
|
||||
type containsPseudoClassSelector struct { |
||||
own bool |
||||
value string |
||||
} |
||||
|
||||
func (s containsPseudoClassSelector) Match(n *html.Node) bool { |
||||
var text string |
||||
if s.own { |
||||
// matches nodes that directly contain the given text
|
||||
text = strings.ToLower(nodeOwnText(n)) |
||||
} else { |
||||
// matches nodes that contain the given text.
|
||||
text = strings.ToLower(nodeText(n)) |
||||
} |
||||
return strings.Contains(text, s.value) |
||||
} |
||||
|
||||
func (s containsPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type regexpPseudoClassSelector struct { |
||||
own bool |
||||
regexp *regexp.Regexp |
||||
} |
||||
|
||||
func (s regexpPseudoClassSelector) Match(n *html.Node) bool { |
||||
var text string |
||||
if s.own { |
||||
// matches nodes whose text directly matches the specified regular expression
|
||||
text = nodeOwnText(n) |
||||
} else { |
||||
// matches nodes whose text matches the specified regular expression
|
||||
text = nodeText(n) |
||||
} |
||||
return s.regexp.MatchString(text) |
||||
} |
||||
|
||||
// writeNodeText writes the text contained in n and its descendants to b.
|
||||
func writeNodeText(n *html.Node, b *bytes.Buffer) { |
||||
switch n.Type { |
||||
case html.TextNode: |
||||
b.WriteString(n.Data) |
||||
case html.ElementNode: |
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
writeNodeText(c, b) |
||||
} |
||||
} |
||||
} |
||||
|
||||
// nodeText returns the text contained in n and its descendants.
|
||||
func nodeText(n *html.Node) string { |
||||
var b bytes.Buffer |
||||
writeNodeText(n, &b) |
||||
return b.String() |
||||
} |
||||
|
||||
// nodeOwnText returns the contents of the text nodes that are direct
|
||||
// children of n.
|
||||
func nodeOwnText(n *html.Node) string { |
||||
var b bytes.Buffer |
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
if c.Type == html.TextNode { |
||||
b.WriteString(c.Data) |
||||
} |
||||
} |
||||
return b.String() |
||||
} |
||||
|
||||
func (s regexpPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type nthPseudoClassSelector struct { |
||||
a, b int |
||||
last, ofType bool |
||||
} |
||||
|
||||
func (s nthPseudoClassSelector) Match(n *html.Node) bool { |
||||
if s.a == 0 { |
||||
if s.last { |
||||
return simpleNthLastChildMatch(s.b, s.ofType, n) |
||||
} else { |
||||
return simpleNthChildMatch(s.b, s.ofType, n) |
||||
} |
||||
} |
||||
return nthChildMatch(s.a, s.b, s.last, s.ofType, n) |
||||
} |
||||
|
||||
// nthChildMatch implements :nth-child(an+b).
|
||||
// If last is true, implements :nth-last-child instead.
|
||||
// If ofType is true, implements :nth-of-type instead.
|
||||
func nthChildMatch(a, b int, last, ofType bool, n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
|
||||
parent := n.Parent |
||||
if parent == nil { |
||||
return false |
||||
} |
||||
|
||||
if parent.Type == html.DocumentNode { |
||||
return false |
||||
} |
||||
|
||||
i := -1 |
||||
count := 0 |
||||
for c := parent.FirstChild; c != nil; c = c.NextSibling { |
||||
if (c.Type != html.ElementNode) || (ofType && c.Data != n.Data) { |
||||
continue |
||||
} |
||||
count++ |
||||
if c == n { |
||||
i = count |
||||
if !last { |
||||
break |
||||
} |
||||
} |
||||
} |
||||
|
||||
if i == -1 { |
||||
// This shouldn't happen, since n should always be one of its parent's children.
|
||||
return false |
||||
} |
||||
|
||||
if last { |
||||
i = count - i + 1 |
||||
} |
||||
|
||||
i -= b |
||||
if a == 0 { |
||||
return i == 0 |
||||
} |
||||
|
||||
return i%a == 0 && i/a >= 0 |
||||
} |
||||
|
||||
// simpleNthChildMatch implements :nth-child(b).
|
||||
// If ofType is true, implements :nth-of-type instead.
|
||||
func simpleNthChildMatch(b int, ofType bool, n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
|
||||
parent := n.Parent |
||||
if parent == nil { |
||||
return false |
||||
} |
||||
|
||||
if parent.Type == html.DocumentNode { |
||||
return false |
||||
} |
||||
|
||||
count := 0 |
||||
for c := parent.FirstChild; c != nil; c = c.NextSibling { |
||||
if c.Type != html.ElementNode || (ofType && c.Data != n.Data) { |
||||
continue |
||||
} |
||||
count++ |
||||
if c == n { |
||||
return count == b |
||||
} |
||||
if count >= b { |
||||
return false |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// simpleNthLastChildMatch implements :nth-last-child(b).
|
||||
// If ofType is true, implements :nth-last-of-type instead.
|
||||
func simpleNthLastChildMatch(b int, ofType bool, n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
|
||||
parent := n.Parent |
||||
if parent == nil { |
||||
return false |
||||
} |
||||
|
||||
if parent.Type == html.DocumentNode { |
||||
return false |
||||
} |
||||
|
||||
count := 0 |
||||
for c := parent.LastChild; c != nil; c = c.PrevSibling { |
||||
if c.Type != html.ElementNode || (ofType && c.Data != n.Data) { |
||||
continue |
||||
} |
||||
count++ |
||||
if c == n { |
||||
return count == b |
||||
} |
||||
if count >= b { |
||||
return false |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// Specificity for nth-child pseudo-class.
|
||||
// Does not support a list of selectors
|
||||
func (s nthPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type onlyChildPseudoClassSelector struct { |
||||
ofType bool |
||||
} |
||||
|
||||
// Match implements :only-child.
|
||||
// If `ofType` is true, it implements :only-of-type instead.
|
||||
func (s onlyChildPseudoClassSelector) Match(n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
|
||||
parent := n.Parent |
||||
if parent == nil { |
||||
return false |
||||
} |
||||
|
||||
if parent.Type == html.DocumentNode { |
||||
return false |
||||
} |
||||
|
||||
count := 0 |
||||
for c := parent.FirstChild; c != nil; c = c.NextSibling { |
||||
if (c.Type != html.ElementNode) || (s.ofType && c.Data != n.Data) { |
||||
continue |
||||
} |
||||
count++ |
||||
if count > 1 { |
||||
return false |
||||
} |
||||
} |
||||
|
||||
return count == 1 |
||||
} |
||||
|
||||
func (s onlyChildPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type inputPseudoClassSelector struct{} |
||||
|
||||
// Matches input, select, textarea and button elements.
|
||||
func (s inputPseudoClassSelector) Match(n *html.Node) bool { |
||||
return n.Type == html.ElementNode && (n.Data == "input" || n.Data == "select" || n.Data == "textarea" || n.Data == "button") |
||||
} |
||||
|
||||
func (s inputPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type emptyElementPseudoClassSelector struct{} |
||||
|
||||
// Matches empty elements.
|
||||
func (s emptyElementPseudoClassSelector) Match(n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
|
||||
for c := n.FirstChild; c != nil; c = c.NextSibling { |
||||
switch c.Type { |
||||
case html.ElementNode, html.TextNode: |
||||
return false |
||||
} |
||||
} |
||||
|
||||
return true |
||||
} |
||||
|
||||
func (s emptyElementPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type rootPseudoClassSelector struct{} |
||||
|
||||
// Match implements :root
|
||||
func (s rootPseudoClassSelector) Match(n *html.Node) bool { |
||||
if n.Type != html.ElementNode { |
||||
return false |
||||
} |
||||
if n.Parent == nil { |
||||
return false |
||||
} |
||||
return n.Parent.Type == html.DocumentNode |
||||
} |
||||
|
||||
func (s rootPseudoClassSelector) Specificity() Specificity { |
||||
return Specificity{0, 1, 0} |
||||
} |
||||
|
||||
type compoundSelector struct { |
||||
selectors []Sel |
||||
} |
||||
|
||||
// Matches elements if each sub-selectors matches.
|
||||
func (t compoundSelector) Match(n *html.Node) bool { |
||||
if len(t.selectors) == 0 { |
||||
return n.Type == html.ElementNode |
||||
} |
||||
|
||||
for _, sel := range t.selectors { |
||||
if !sel.Match(n) { |
||||
return false |
||||
} |
||||
} |
||||
return true |
||||
} |
||||
|
||||
func (s compoundSelector) Specificity() Specificity { |
||||
var out Specificity |
||||
for _, sel := range s.selectors { |
||||
out = out.Add(sel.Specificity()) |
||||
} |
||||
return out |
||||
} |
||||
|
||||
type combinedSelector struct { |
||||
first Sel |
||||
combinator byte |
||||
second Sel |
||||
} |
||||
|
||||
func (t combinedSelector) Match(n *html.Node) bool { |
||||
if t.first == nil { |
||||
return false // maybe we should panic
|
||||
} |
||||
switch t.combinator { |
||||
case 0: |
||||
return t.first.Match(n) |
||||
case ' ': |
||||
return descendantMatch(t.first, t.second, n) |
||||
case '>': |
||||
return childMatch(t.first, t.second, n) |
||||
case '+': |
||||
return siblingMatch(t.first, t.second, true, n) |
||||
case '~': |
||||
return siblingMatch(t.first, t.second, false, n) |
||||
default: |
||||
panic("unknown combinator") |
||||
} |
||||
} |
||||
|
||||
// matches an element if it matches d and has an ancestor that matches a.
|
||||
func descendantMatch(a, d Matcher, n *html.Node) bool { |
||||
if !d.Match(n) { |
||||
return false |
||||
} |
||||
|
||||
for p := n.Parent; p != nil; p = p.Parent { |
||||
if a.Match(p) { |
||||
return true |
||||
} |
||||
} |
||||
|
||||
return false |
||||
} |
||||
|
||||
// matches an element if it matches d and its parent matches a.
|
||||
func childMatch(a, d Matcher, n *html.Node) bool { |
||||
return d.Match(n) && n.Parent != nil && a.Match(n.Parent) |
||||
} |
||||
|
||||
// matches an element if it matches s2 and is preceded by an element that matches s1.
|
||||
// If adjacent is true, the sibling must be immediately before the element.
|
||||
func siblingMatch(s1, s2 Matcher, adjacent bool, n *html.Node) bool { |
||||
if !s2.Match(n) { |
||||
return false |
||||
} |
||||
|
||||
if adjacent { |
||||
for n = n.PrevSibling; n != nil; n = n.PrevSibling { |
||||
if n.Type == html.TextNode || n.Type == html.CommentNode { |
||||
continue |
||||
} |
||||
return s1.Match(n) |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// Walk backwards looking for element that matches s1
|
||||
for c := n.PrevSibling; c != nil; c = c.PrevSibling { |
||||
if s1.Match(c) { |
||||
return true |
||||
} |
||||
} |
||||
|
||||
return false |
||||
} |
||||
|
||||
func (s combinedSelector) Specificity() Specificity { |
||||
spec := s.first.Specificity() |
||||
if s.second != nil { |
||||
spec = spec.Add(s.second.Specificity()) |
||||
} |
||||
return spec |
||||
} |
||||
|
||||
// A SelectorGroup is a list of selectors, which matches if any of the
|
||||
// individual selectors matches.
|
||||
type SelectorGroup []Sel |
||||
|
||||
// Match returns true if the node matches one of the single selectors.
|
||||
func (s SelectorGroup) Match(n *html.Node) bool { |
||||
for _, sel := range s { |
||||
if sel.Match(n) { |
||||
return true |
||||
} |
||||
} |
||||
return false |
||||
} |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
package cascadia |
||||
|
||||
// Specificity is the CSS specificity as defined in
|
||||
// https://www.w3.org/TR/selectors/#specificity-rules
|
||||
// with the convention Specificity = [A,B,C].
|
||||
type Specificity [3]int |
||||
|
||||
// returns `true` if s < other (strictly), false otherwise
|
||||
func (s Specificity) Less(other Specificity) bool { |
||||
for i := range s { |
||||
if s[i] < other[i] { |
||||
return true |
||||
} |
||||
if s[i] > other[i] { |
||||
return false |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
func (s Specificity) Add(other Specificity) Specificity { |
||||
for i, sp := range other { |
||||
s[i] += sp |
||||
} |
||||
return s |
||||
} |
@ -1 +1,3 @@
@@ -1 +1,3 @@
|
||||
module github.com/gorilla/mux |
||||
|
||||
go 1.12 |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
# github.com/PuerkitoBio/goquery v1.6.1 |
||||
## explicit |
||||
github.com/PuerkitoBio/goquery |
||||
# github.com/andybalholm/cascadia v1.1.0 |
||||
github.com/andybalholm/cascadia |
||||
# github.com/gorilla/mux v1.8.0 |
||||
## explicit |
||||
github.com/gorilla/mux |
||||
# golang.org/x/net v0.0.0-20200202094626-16171245cfb2 |
||||
golang.org/x/net/html |
||||
golang.org/x/net/html/atom |
@ -1,16 +0,0 @@
@@ -1,16 +0,0 @@
|
||||
language: go |
||||
|
||||
go: |
||||
- 1.1 |
||||
- 1.2.x |
||||
- 1.3.x |
||||
- 1.4.x |
||||
- 1.5.x |
||||
- 1.6.x |
||||
- 1.7.x |
||||
- 1.8.x |
||||
- 1.9.x |
||||
- "1.10.x" |
||||
- 1.11.x |
||||
- tip |
||||
|
@ -1,234 +0,0 @@
@@ -1,234 +0,0 @@
|
||||
package goquery |
||||
|
||||
import ( |
||||
"testing" |
||||
) |
||||
|
||||
func TestFirst(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").First() |
||||
assertLength(t, sel.Nodes, 1) |
||||
} |
||||
|
||||
func TestFirstEmpty(t *testing.T) { |
||||
sel := Doc().Find(".pvk-zzcontentzz").First() |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestFirstInvalid(t *testing.T) { |
||||
sel := Doc().Find("").First() |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestFirstRollback(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
sel2 := sel.First().End() |
||||
assertEqual(t, sel, sel2) |
||||
} |
||||
|
||||
func TestLast(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Last() |
||||
assertLength(t, sel.Nodes, 1) |
||||
|
||||
// Should contain Footer
|
||||
foot := Doc().Find(".footer") |
||||
if !sel.Contains(foot.Nodes[0]) { |
||||
t.Error("Last .pvk-content should contain .footer.") |
||||
} |
||||
} |
||||
|
||||
func TestLastEmpty(t *testing.T) { |
||||
sel := Doc().Find(".pvk-zzcontentzz").Last() |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestLastInvalid(t *testing.T) { |
||||
sel := Doc().Find("").Last() |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestLastRollback(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
sel2 := sel.Last().End() |
||||
assertEqual(t, sel, sel2) |
||||
} |
||||
|
||||
func TestEq(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Eq(1) |
||||
assertLength(t, sel.Nodes, 1) |
||||
} |
||||
|
||||
func TestEqNegative(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Eq(-1) |
||||
assertLength(t, sel.Nodes, 1) |
||||
|
||||
// Should contain Footer
|
||||
foot := Doc().Find(".footer") |
||||
if !sel.Contains(foot.Nodes[0]) { |
||||
t.Error("Index -1 of .pvk-content should contain .footer.") |
||||
} |
||||
} |
||||
|
||||
func TestEqEmpty(t *testing.T) { |
||||
sel := Doc().Find("something_random_that_does_not_exists").Eq(0) |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestEqInvalid(t *testing.T) { |
||||
sel := Doc().Find("").Eq(0) |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestEqInvalidPositive(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Eq(3) |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestEqInvalidNegative(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Eq(-4) |
||||
assertLength(t, sel.Nodes, 0) |
||||
} |
||||
|
||||
func TestEqRollback(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
sel2 := sel.Eq(1).End() |
||||
assertEqual(t, sel, sel2) |
||||
} |
||||
|
||||
func TestSlice(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Slice(0, 2) |
||||
|
||||
assertLength(t, sel.Nodes, 2) |
||||
assertSelectionIs(t, sel, "#pc1", "#pc2") |
||||
} |
||||
|
||||
func TestSliceToEnd(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content").Slice(1, ToEnd) |
||||
|
||||
assertLength(t, sel.Nodes, 2) |
||||
assertSelectionIs(t, sel.Eq(0), "#pc2") |
||||
if _, ok := sel.Eq(1).Attr("id"); ok { |
||||
t.Error("Want no attribute ID, got one") |
||||
} |
||||
} |
||||
|
||||
func TestSliceEmpty(t *testing.T) { |
||||
defer assertPanic(t) |
||||
Doc().Find("x").Slice(0, 2) |
||||
} |
||||
|
||||
func TestSliceInvalid(t *testing.T) { |
||||
defer assertPanic(t) |
||||
Doc().Find("").Slice(0, 2) |
||||
} |
||||
|
||||
func TestSliceInvalidToEnd(t *testing.T) { |
||||
defer assertPanic(t) |
||||
Doc().Find("").Slice(2, ToEnd) |
||||
} |
||||
|
||||
func TestSliceOutOfBounds(t *testing.T) { |
||||
defer assertPanic(t) |
||||
Doc().Find(".pvk-content").Slice(2, 12) |
||||
} |
||||
|
||||
func TestNegativeSliceStart(t *testing.T) { |
||||
sel := Doc().Find(".container-fluid").Slice(-2, 3) |
||||
assertLength(t, sel.Nodes, 1) |
||||
assertSelectionIs(t, sel.Eq(0), "#cf3") |
||||
} |
||||
|
||||
func TestNegativeSliceEnd(t *testing.T) { |
||||
sel := Doc().Find(".container-fluid").Slice(1, -1) |
||||
assertLength(t, sel.Nodes, 2) |
||||
assertSelectionIs(t, sel.Eq(0), "#cf2") |
||||
assertSelectionIs(t, sel.Eq(1), "#cf3") |
||||
} |
||||
|
||||
func TestNegativeSliceBoth(t *testing.T) { |
||||
sel := Doc().Find(".container-fluid").Slice(-3, -1) |
||||
assertLength(t, sel.Nodes, 2) |
||||
assertSelectionIs(t, sel.Eq(0), "#cf2") |
||||
assertSelectionIs(t, sel.Eq(1), "#cf3") |
||||
} |
||||
|
||||
func TestNegativeSliceToEnd(t *testing.T) { |
||||
sel := Doc().Find(".container-fluid").Slice(-3, ToEnd) |
||||
assertLength(t, sel.Nodes, 3) |
||||
assertSelectionIs(t, sel, "#cf2", "#cf3", "#cf4") |
||||
} |
||||
|
||||
func TestNegativeSliceOutOfBounds(t *testing.T) { |
||||
defer assertPanic(t) |
||||
Doc().Find(".container-fluid").Slice(-12, -7) |
||||
} |
||||
|
||||
func TestSliceRollback(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
sel2 := sel.Slice(0, 2).End() |
||||
assertEqual(t, sel, sel2) |
||||
} |
||||
|
||||
func TestGet(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
node := sel.Get(1) |
||||
if sel.Nodes[1] != node { |
||||
t.Errorf("Expected node %v to be %v.", node, sel.Nodes[1]) |
||||
} |
||||
} |
||||
|
||||
func TestGetNegative(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
node := sel.Get(-3) |
||||
if sel.Nodes[0] != node { |
||||
t.Errorf("Expected node %v to be %v.", node, sel.Nodes[0]) |
||||
} |
||||
} |
||||
|
||||
func TestGetInvalid(t *testing.T) { |
||||
defer assertPanic(t) |
||||
sel := Doc().Find(".pvk-content") |
||||
sel.Get(129) |
||||
} |
||||
|
||||
func TestIndex(t *testing.T) { |
||||
sel := Doc().Find(".pvk-content") |
||||
if i := sel.Index(); i != 1 { |
||||
t.Errorf("Expected index of 1, got %v.", i) |
||||
} |
||||
} |
||||
|
||||
func TestIndexSelector(t *testing.T) { |
||||
sel := Doc().Find(".hero-unit") |
||||
if i := sel.IndexSelector("div"); i != 4 { |
||||
t.Errorf("Expected index of 4, got %v.", i) |
||||
} |
||||
} |
||||
|
||||
func TestIndexSelectorInvalid(t *testing.T) { |
||||
sel := Doc().Find(".hero-unit") |
||||
if i := sel.IndexSelector(""); i != -1 { |
||||
t.Errorf("Expected index of -1, got %v.", i) |
||||
} |
||||
} |
||||
|
||||
func TestIndexOfNode(t *testing.T) { |
||||
sel := Doc().Find("div.pvk-gutter") |
||||
if i := sel.IndexOfNode(sel.Nodes[1]); i != 1 { |
||||
t.Errorf("Expected index of 1, got %v.", i) |
||||
} |
||||
} |
||||
|
||||
func TestIndexOfNilNode(t *testing.T) { |
||||
sel := Doc().Find("div.pvk-gutter") |
||||
if i := sel.IndexOfNode(nil); i != -1 { |
||||
t.Errorf("Expected index of -1, got %v.", i) |
||||
} |
||||
} |
||||
|
||||
func TestIndexOfSelection(t *testing.T) { |
||||
sel := Doc().Find("div") |
||||
sel2 := Doc().Find(".hero-unit") |
||||
if i := sel.IndexOfSelection(sel2); i != 4 { |
||||
t.Errorf("Expected index of 4, got %v.", i) |
||||
} |
||||
} |
@ -1,436 +0,0 @@
@@ -1,436 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 92.9 ns/op |
||||
BenchmarkLast 20000000 91.6 ns/op |
||||
BenchmarkEq 20000000 90.6 ns/op |
||||
BenchmarkSlice 20000000 86.7 ns/op |
||||
BenchmarkGet 1000000000 2.14 ns/op |
||||
BenchmarkIndex 500000 5308 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 50000 54962 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 100000000 11.4 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 12.1 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 5000 327144 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 50000 52945 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
BenchmarkAddSelection 10000000 205 ns/op |
||||
--- BENCH: BenchmarkAddSelection |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
BenchmarkAddNodes 10000000 203 ns/op |
||||
--- BENCH: BenchmarkAddNodes |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
BenchmarkAndSelf 1000000 2639 ns/op |
||||
--- BENCH: BenchmarkAndSelf |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
BenchmarkFilter 50000 30182 ns/op |
||||
--- BENCH: BenchmarkFilter |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
BenchmarkNot 50000 34855 ns/op |
||||
--- BENCH: BenchmarkNot |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
BenchmarkFilterFunction 50000 66052 ns/op |
||||
--- BENCH: BenchmarkFilterFunction |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
BenchmarkNotFunction 50000 69721 ns/op |
||||
--- BENCH: BenchmarkNotFunction |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
BenchmarkFilterNodes 50000 66077 ns/op |
||||
--- BENCH: BenchmarkFilterNodes |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
BenchmarkNotNodes 20000 80021 ns/op |
||||
--- BENCH: BenchmarkNotNodes |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
BenchmarkFilterSelection 50000 66256 ns/op |
||||
--- BENCH: BenchmarkFilterSelection |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
BenchmarkNotSelection 20000 79568 ns/op |
||||
--- BENCH: BenchmarkNotSelection |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
BenchmarkHas 5000 569441 ns/op |
||||
--- BENCH: BenchmarkHas |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
BenchmarkHasNodes 10000 230585 ns/op |
||||
--- BENCH: BenchmarkHasNodes |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
BenchmarkHasSelection 10000 231470 ns/op |
||||
--- BENCH: BenchmarkHasSelection |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
BenchmarkEnd 500000000 4.65 ns/op |
||||
--- BENCH: BenchmarkEnd |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
BenchmarkEach 200000 9558 ns/op |
||||
--- BENCH: BenchmarkEach |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
BenchmarkMap 100000 16809 ns/op |
||||
--- BENCH: BenchmarkMap |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
BenchmarkAttr 50000000 37.5 ns/op |
||||
--- BENCH: BenchmarkAttr |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
BenchmarkText 100000 18583 ns/op |
||||
BenchmarkLength 2000000000 0.80 ns/op |
||||
--- BENCH: BenchmarkLength |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
BenchmarkHtml 5000000 666 ns/op |
||||
BenchmarkIs 50000 34328 ns/op |
||||
--- BENCH: BenchmarkIs |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
BenchmarkIsPositional 50000 32423 ns/op |
||||
--- BENCH: BenchmarkIsPositional |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
BenchmarkIsFunction 1000000 2707 ns/op |
||||
--- BENCH: BenchmarkIsFunction |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
BenchmarkIsSelection 50000 66976 ns/op |
||||
--- BENCH: BenchmarkIsSelection |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
BenchmarkIsNodes 50000 66740 ns/op |
||||
--- BENCH: BenchmarkIsNodes |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
BenchmarkHasClass 5000 701722 ns/op |
||||
--- BENCH: BenchmarkHasClass |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
BenchmarkContains 100000000 11.9 ns/op |
||||
--- BENCH: BenchmarkContains |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
BenchmarkFind 50000 55444 ns/op |
||||
--- BENCH: BenchmarkFind |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
BenchmarkFindWithinSelection 10000 127984 ns/op |
||||
--- BENCH: BenchmarkFindWithinSelection |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
BenchmarkFindSelection 5000 355944 ns/op |
||||
--- BENCH: BenchmarkFindSelection |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
BenchmarkFindNodes 5000 355596 ns/op |
||||
--- BENCH: BenchmarkFindNodes |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
BenchmarkContents 500000 5656 ns/op |
||||
--- BENCH: BenchmarkContents |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
BenchmarkContentsFiltered 200000 9007 ns/op |
||||
--- BENCH: BenchmarkContentsFiltered |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
BenchmarkChildren 1000000 1237 ns/op |
||||
--- BENCH: BenchmarkChildren |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
BenchmarkChildrenFiltered 500000 5613 ns/op |
||||
--- BENCH: BenchmarkChildrenFiltered |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
BenchmarkParent 50000 47026 ns/op |
||||
--- BENCH: BenchmarkParent |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
BenchmarkParentFiltered 50000 51438 ns/op |
||||
--- BENCH: BenchmarkParentFiltered |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
BenchmarkParents 20000 91820 ns/op |
||||
--- BENCH: BenchmarkParents |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
BenchmarkParentsFiltered 20000 95156 ns/op |
||||
--- BENCH: BenchmarkParentsFiltered |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
BenchmarkParentsUntil 10000 134383 ns/op |
||||
--- BENCH: BenchmarkParentsUntil |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
BenchmarkParentsUntilSelection 10000 235456 ns/op |
||||
--- BENCH: BenchmarkParentsUntilSelection |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
BenchmarkParentsUntilNodes 10000 235936 ns/op |
||||
--- BENCH: BenchmarkParentsUntilNodes |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
BenchmarkParentsFilteredUntil 50000 32451 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntil |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
BenchmarkParentsFilteredUntilSelection 50000 30570 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilSelection |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
BenchmarkParentsFilteredUntilNodes 50000 30729 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilNodes |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
BenchmarkSiblings 10000 106704 ns/op |
||||
--- BENCH: BenchmarkSiblings |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
BenchmarkSiblingsFiltered 10000 115592 ns/op |
||||
--- BENCH: BenchmarkSiblingsFiltered |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
BenchmarkNext 50000 54449 ns/op |
||||
--- BENCH: BenchmarkNext |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
BenchmarkNextFiltered 50000 58503 ns/op |
||||
--- BENCH: BenchmarkNextFiltered |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
BenchmarkNextAll 20000 77698 ns/op |
||||
--- BENCH: BenchmarkNextAll |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
BenchmarkNextAllFiltered 20000 85034 ns/op |
||||
--- BENCH: BenchmarkNextAllFiltered |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
BenchmarkPrev 50000 56458 ns/op |
||||
--- BENCH: BenchmarkPrev |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
BenchmarkPrevFiltered 50000 60163 ns/op |
||||
--- BENCH: BenchmarkPrevFiltered |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
BenchmarkPrevAll 50000 47679 ns/op |
||||
--- BENCH: BenchmarkPrevAll |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
BenchmarkPrevAllFiltered 50000 51563 ns/op |
||||
--- BENCH: BenchmarkPrevAllFiltered |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
BenchmarkNextUntil 10000 213998 ns/op |
||||
--- BENCH: BenchmarkNextUntil |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
BenchmarkNextUntilSelection 10000 140720 ns/op |
||||
--- BENCH: BenchmarkNextUntilSelection |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
BenchmarkNextUntilNodes 20000 90702 ns/op |
||||
--- BENCH: BenchmarkNextUntilNodes |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
BenchmarkPrevUntil 5000 456039 ns/op |
||||
--- BENCH: BenchmarkPrevUntil |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
BenchmarkPrevUntilSelection 10000 167944 ns/op |
||||
--- BENCH: BenchmarkPrevUntilSelection |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
BenchmarkPrevUntilNodes 20000 82059 ns/op |
||||
--- BENCH: BenchmarkPrevUntilNodes |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
BenchmarkNextFilteredUntil 10000 150883 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntil |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
BenchmarkNextFilteredUntilSelection 10000 146578 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilSelection |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
BenchmarkNextFilteredUntilNodes 10000 148284 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilNodes |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
BenchmarkPrevFilteredUntil 10000 154303 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntil |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
BenchmarkPrevFilteredUntilSelection 10000 149062 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilSelection |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
BenchmarkPrevFilteredUntilNodes 10000 150584 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilNodes |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
ok github.com/PuerkitoBio/goquery 188.326s |
@ -1,438 +0,0 @@
@@ -1,438 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 96.2 ns/op |
||||
BenchmarkLast 20000000 95.8 ns/op |
||||
BenchmarkEq 20000000 94.4 ns/op |
||||
BenchmarkSlice 20000000 89.9 ns/op |
||||
BenchmarkGet 1000000000 2.31 ns/op |
||||
BenchmarkIndex 1000000 1911 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 50000 56034 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 100000000 11.8 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 12.1 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 5000 336823 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 50000 54709 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
BenchmarkAddSelection 10000000 209 ns/op |
||||
--- BENCH: BenchmarkAddSelection |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
BenchmarkAddNodes 10000000 202 ns/op |
||||
--- BENCH: BenchmarkAddNodes |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
BenchmarkAndSelf 1000000 2634 ns/op |
||||
--- BENCH: BenchmarkAndSelf |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
BenchmarkFilter 50000 31049 ns/op |
||||
--- BENCH: BenchmarkFilter |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
BenchmarkNot 50000 35167 ns/op |
||||
--- BENCH: BenchmarkNot |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
BenchmarkFilterFunction 50000 68974 ns/op |
||||
--- BENCH: BenchmarkFilterFunction |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
BenchmarkNotFunction 50000 74760 ns/op |
||||
--- BENCH: BenchmarkNotFunction |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
BenchmarkFilterNodes 50000 68670 ns/op |
||||
--- BENCH: BenchmarkFilterNodes |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
BenchmarkNotNodes 20000 81357 ns/op |
||||
--- BENCH: BenchmarkNotNodes |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
BenchmarkFilterSelection 50000 68388 ns/op |
||||
--- BENCH: BenchmarkFilterSelection |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
BenchmarkNotSelection 20000 82108 ns/op |
||||
--- BENCH: BenchmarkNotSelection |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
BenchmarkHas 5000 582934 ns/op |
||||
--- BENCH: BenchmarkHas |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
BenchmarkHasNodes 10000 241602 ns/op |
||||
--- BENCH: BenchmarkHasNodes |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
BenchmarkHasSelection 10000 243612 ns/op |
||||
--- BENCH: BenchmarkHasSelection |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
BenchmarkEnd 500000000 4.14 ns/op |
||||
--- BENCH: BenchmarkEnd |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
BenchmarkEach 200000 9848 ns/op |
||||
--- BENCH: BenchmarkEach |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
BenchmarkMap 100000 17569 ns/op |
||||
--- BENCH: BenchmarkMap |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
BenchmarkAttr 50000000 37.6 ns/op |
||||
--- BENCH: BenchmarkAttr |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
BenchmarkText 100000 19345 ns/op |
||||
BenchmarkLength 2000000000 0.80 ns/op |
||||
--- BENCH: BenchmarkLength |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
BenchmarkHtml 5000000 688 ns/op |
||||
BenchmarkIs 50000 35061 ns/op |
||||
--- BENCH: BenchmarkIs |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
BenchmarkIsPositional 50000 32789 ns/op |
||||
--- BENCH: BenchmarkIsPositional |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
BenchmarkIsFunction 1000000 2816 ns/op |
||||
--- BENCH: BenchmarkIsFunction |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
BenchmarkIsSelection 50000 68272 ns/op |
||||
--- BENCH: BenchmarkIsSelection |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
BenchmarkIsNodes 50000 68107 ns/op |
||||
--- BENCH: BenchmarkIsNodes |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
BenchmarkHasClass 5000 709386 ns/op |
||||
--- BENCH: BenchmarkHasClass |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
BenchmarkContains 100000000 12.4 ns/op |
||||
--- BENCH: BenchmarkContains |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
BenchmarkFind 50000 56342 ns/op |
||||
--- BENCH: BenchmarkFind |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
BenchmarkFindWithinSelection 10000 131878 ns/op |
||||
--- BENCH: BenchmarkFindWithinSelection |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
BenchmarkFindSelection 5000 374240 ns/op |
||||
--- BENCH: BenchmarkFindSelection |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
BenchmarkFindNodes 5000 374447 ns/op |
||||
--- BENCH: BenchmarkFindNodes |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
BenchmarkContents 200000 9721 ns/op |
||||
--- BENCH: BenchmarkContents |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
BenchmarkContentsFiltered 200000 12909 ns/op |
||||
--- BENCH: BenchmarkContentsFiltered |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
BenchmarkChildren 1000000 1869 ns/op |
||||
--- BENCH: BenchmarkChildren |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
BenchmarkChildrenFiltered 500000 5941 ns/op |
||||
--- BENCH: BenchmarkChildrenFiltered |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
BenchmarkParent 50000 46223 ns/op |
||||
--- BENCH: BenchmarkParent |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
BenchmarkParentFiltered 50000 51452 ns/op |
||||
--- BENCH: BenchmarkParentFiltered |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
BenchmarkParents 20000 93967 ns/op |
||||
--- BENCH: BenchmarkParents |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
BenchmarkParentsFiltered 20000 97617 ns/op |
||||
--- BENCH: BenchmarkParentsFiltered |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
BenchmarkParentsUntil 10000 138898 ns/op |
||||
--- BENCH: BenchmarkParentsUntil |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
BenchmarkParentsUntilSelection 10000 247817 ns/op |
||||
--- BENCH: BenchmarkParentsUntilSelection |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
BenchmarkParentsUntilNodes 10000 246055 ns/op |
||||
--- BENCH: BenchmarkParentsUntilNodes |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
BenchmarkParentsFilteredUntil 50000 33201 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntil |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
BenchmarkParentsFilteredUntilSelection 50000 31486 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilSelection |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
BenchmarkParentsFilteredUntilNodes 50000 31754 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilNodes |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
BenchmarkSiblings 20000 94749 ns/op |
||||
--- BENCH: BenchmarkSiblings |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
BenchmarkSiblingsFiltered 10000 103926 ns/op |
||||
--- BENCH: BenchmarkSiblingsFiltered |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
BenchmarkNext 50000 33782 ns/op |
||||
--- BENCH: BenchmarkNext |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
BenchmarkNextFiltered 50000 37108 ns/op |
||||
--- BENCH: BenchmarkNextFiltered |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
BenchmarkNextAll 50000 64769 ns/op |
||||
--- BENCH: BenchmarkNextAll |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
BenchmarkNextAllFiltered 50000 71050 ns/op |
||||
--- BENCH: BenchmarkNextAllFiltered |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
BenchmarkPrev 50000 33908 ns/op |
||||
--- BENCH: BenchmarkPrev |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
BenchmarkPrevFiltered 50000 37353 ns/op |
||||
--- BENCH: BenchmarkPrevFiltered |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
BenchmarkPrevAll 50000 31056 ns/op |
||||
--- BENCH: BenchmarkPrevAll |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
BenchmarkPrevAllFiltered 50000 34286 ns/op |
||||
--- BENCH: BenchmarkPrevAllFiltered |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
BenchmarkNextUntil 10000 202553 ns/op |
||||
--- BENCH: BenchmarkNextUntil |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
BenchmarkNextUntilSelection 20000 98693 ns/op |
||||
--- BENCH: BenchmarkNextUntilSelection |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
BenchmarkNextUntilNodes 50000 45532 ns/op |
||||
--- BENCH: BenchmarkNextUntilNodes |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
BenchmarkPrevUntil 5000 454378 ns/op |
||||
--- BENCH: BenchmarkPrevUntil |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
BenchmarkPrevUntilSelection 10000 123594 ns/op |
||||
--- BENCH: BenchmarkPrevUntilSelection |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
BenchmarkPrevUntilNodes 50000 37509 ns/op |
||||
--- BENCH: BenchmarkPrevUntilNodes |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
BenchmarkNextFilteredUntil 10000 109317 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntil |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
BenchmarkNextFilteredUntilSelection 10000 105959 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilSelection |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
BenchmarkNextFilteredUntilNodes 10000 107132 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilNodes |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
BenchmarkPrevFilteredUntil 10000 114474 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntil |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
BenchmarkPrevFilteredUntilSelection 10000 107592 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilSelection |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
BenchmarkPrevFilteredUntilNodes 10000 107495 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilNodes |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
ok github.com/PuerkitoBio/goquery 187.652s |
Before Width: | Height: | Size: 21 KiB |
@ -1,459 +0,0 @@
@@ -1,459 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 94.3 ns/op |
||||
BenchmarkLast 20000000 94.7 ns/op |
||||
BenchmarkEq 20000000 93.7 ns/op |
||||
BenchmarkSlice 20000000 89.9 ns/op |
||||
BenchmarkGet 1000000000 2.72 ns/op |
||||
BenchmarkIndex 1000000 1834 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 50000 53958 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 100000000 10.1 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 10.9 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 5000 326712 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 50000 51776 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
BenchmarkAddSelection 10000000 196 ns/op |
||||
--- BENCH: BenchmarkAddSelection |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
BenchmarkAddNodes 10000000 191 ns/op |
||||
--- BENCH: BenchmarkAddNodes |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
BenchmarkAndSelf 1000000 2495 ns/op |
||||
--- BENCH: BenchmarkAndSelf |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
BenchmarkFilter 50000 30974 ns/op |
||||
--- BENCH: BenchmarkFilter |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
BenchmarkNot 50000 35322 ns/op |
||||
--- BENCH: BenchmarkNot |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
BenchmarkFilterFunction 50000 65644 ns/op |
||||
--- BENCH: BenchmarkFilterFunction |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
BenchmarkNotFunction 50000 69245 ns/op |
||||
--- BENCH: BenchmarkNotFunction |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
BenchmarkFilterNodes 50000 64824 ns/op |
||||
--- BENCH: BenchmarkFilterNodes |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
BenchmarkNotNodes 20000 76247 ns/op |
||||
--- BENCH: BenchmarkNotNodes |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
BenchmarkFilterSelection 50000 66154 ns/op |
||||
--- BENCH: BenchmarkFilterSelection |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
BenchmarkNotSelection 20000 76336 ns/op |
||||
--- BENCH: BenchmarkNotSelection |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
BenchmarkHas 5000 569495 ns/op |
||||
--- BENCH: BenchmarkHas |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
BenchmarkHasNodes 10000 227059 ns/op |
||||
--- BENCH: BenchmarkHasNodes |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
BenchmarkHasSelection 10000 227167 ns/op |
||||
--- BENCH: BenchmarkHasSelection |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
BenchmarkEnd 500000000 3.99 ns/op |
||||
--- BENCH: BenchmarkEnd |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
BenchmarkEach 200000 9354 ns/op |
||||
--- BENCH: BenchmarkEach |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
BenchmarkMap 100000 16557 ns/op |
||||
--- BENCH: BenchmarkMap |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
BenchmarkAttr 50000000 36.4 ns/op |
||||
--- BENCH: BenchmarkAttr |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
BenchmarkText 100000 18473 ns/op |
||||
BenchmarkLength 2000000000 0.76 ns/op |
||||
--- BENCH: BenchmarkLength |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
BenchmarkHtml 5000000 666 ns/op |
||||
BenchmarkIs 50000 35174 ns/op |
||||
--- BENCH: BenchmarkIs |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
BenchmarkIsPositional 50000 31814 ns/op |
||||
--- BENCH: BenchmarkIsPositional |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
BenchmarkIsFunction 1000000 2754 ns/op |
||||
--- BENCH: BenchmarkIsFunction |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
BenchmarkIsSelection 50000 66260 ns/op |
||||
--- BENCH: BenchmarkIsSelection |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
BenchmarkIsNodes 50000 64682 ns/op |
||||
--- BENCH: BenchmarkIsNodes |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
BenchmarkHasClass 5000 672953 ns/op |
||||
--- BENCH: BenchmarkHasClass |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
BenchmarkContains 100000000 11.3 ns/op |
||||
--- BENCH: BenchmarkContains |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
BenchmarkFind 50000 53780 ns/op |
||||
--- BENCH: BenchmarkFind |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
BenchmarkFindWithinSelection 10000 125963 ns/op |
||||
--- BENCH: BenchmarkFindWithinSelection |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
BenchmarkFindSelection 5000 357318 ns/op |
||||
--- BENCH: BenchmarkFindSelection |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
BenchmarkFindNodes 5000 357587 ns/op |
||||
--- BENCH: BenchmarkFindNodes |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
BenchmarkContents 200000 9135 ns/op |
||||
--- BENCH: BenchmarkContents |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
BenchmarkContentsFiltered 200000 12383 ns/op |
||||
--- BENCH: BenchmarkContentsFiltered |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
BenchmarkChildren 1000000 1809 ns/op |
||||
--- BENCH: BenchmarkChildren |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
BenchmarkChildrenFiltered 500000 5814 ns/op |
||||
--- BENCH: BenchmarkChildrenFiltered |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
BenchmarkParent 50000 44810 ns/op |
||||
--- BENCH: BenchmarkParent |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
BenchmarkParentFiltered 50000 48795 ns/op |
||||
--- BENCH: BenchmarkParentFiltered |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
BenchmarkParents 20000 89102 ns/op |
||||
--- BENCH: BenchmarkParents |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
BenchmarkParentsFiltered 20000 93953 ns/op |
||||
--- BENCH: BenchmarkParentsFiltered |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
BenchmarkParentsUntil 10000 130783 ns/op |
||||
--- BENCH: BenchmarkParentsUntil |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
BenchmarkParentsUntilSelection 10000 231797 ns/op |
||||
--- BENCH: BenchmarkParentsUntilSelection |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
BenchmarkParentsUntilNodes 10000 233761 ns/op |
||||
--- BENCH: BenchmarkParentsUntilNodes |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
BenchmarkParentsFilteredUntil 50000 31360 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntil |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
BenchmarkParentsFilteredUntilSelection 50000 30272 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilSelection |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
BenchmarkParentsFilteredUntilNodes 50000 30327 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilNodes |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
BenchmarkSiblings 20000 89862 ns/op |
||||
--- BENCH: BenchmarkSiblings |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
BenchmarkSiblingsFiltered 20000 97948 ns/op |
||||
--- BENCH: BenchmarkSiblingsFiltered |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
BenchmarkNext 50000 31975 ns/op |
||||
--- BENCH: BenchmarkNext |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
BenchmarkNextFiltered 50000 34887 ns/op |
||||
--- BENCH: BenchmarkNextFiltered |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
BenchmarkNextAll 50000 60734 ns/op |
||||
--- BENCH: BenchmarkNextAll |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
BenchmarkNextAllFiltered 50000 67428 ns/op |
||||
--- BENCH: BenchmarkNextAllFiltered |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
BenchmarkPrev 50000 32399 ns/op |
||||
--- BENCH: BenchmarkPrev |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
BenchmarkPrevFiltered 50000 34944 ns/op |
||||
--- BENCH: BenchmarkPrevFiltered |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
BenchmarkPrevAll 100000 29360 ns/op |
||||
--- BENCH: BenchmarkPrevAll |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
BenchmarkPrevAllFiltered 50000 32291 ns/op |
||||
--- BENCH: BenchmarkPrevAllFiltered |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
BenchmarkNextUntil 10000 191890 ns/op |
||||
--- BENCH: BenchmarkNextUntil |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
BenchmarkNextUntilSelection 20000 92054 ns/op |
||||
--- BENCH: BenchmarkNextUntilSelection |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
BenchmarkNextUntilNodes 50000 43401 ns/op |
||||
--- BENCH: BenchmarkNextUntilNodes |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
BenchmarkPrevUntil 5000 433383 ns/op |
||||
--- BENCH: BenchmarkPrevUntil |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
BenchmarkPrevUntilSelection 10000 116423 ns/op |
||||
--- BENCH: BenchmarkPrevUntilSelection |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
BenchmarkPrevUntilNodes 50000 35338 ns/op |
||||
--- BENCH: BenchmarkPrevUntilNodes |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
BenchmarkNextFilteredUntil 10000 104686 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntil |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
BenchmarkNextFilteredUntilSelection 20000 99485 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilSelection |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
BenchmarkNextFilteredUntilNodes 20000 99452 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilNodes |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
BenchmarkPrevFilteredUntil 10000 112640 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntil |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
BenchmarkPrevFilteredUntilSelection 10000 103702 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilSelection |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
BenchmarkPrevFilteredUntilNodes 10000 103277 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilNodes |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
BenchmarkClosest 500000 6530 ns/op |
||||
--- BENCH: BenchmarkClosest |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
BenchmarkClosestSelection 1000000 1135 ns/op |
||||
--- BENCH: BenchmarkClosestSelection |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
BenchmarkClosestNodes 1000000 1133 ns/op |
||||
--- BENCH: BenchmarkClosestNodes |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
ok github.com/PuerkitoBio/goquery 192.541s |
Before Width: | Height: | Size: 22 KiB |
@ -1,470 +0,0 @@
@@ -1,470 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 96.3 ns/op |
||||
BenchmarkLast 20000000 95.7 ns/op |
||||
BenchmarkEq 20000000 97.1 ns/op |
||||
BenchmarkSlice 20000000 92.3 ns/op |
||||
BenchmarkGet 1000000000 2.06 ns/op |
||||
BenchmarkIndex 1000000 1069 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 100000 26750 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 100000000 10.7 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 11.8 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 10000 219078 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 100000 22345 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
BenchmarkAddSelection 10000000 209 ns/op |
||||
--- BENCH: BenchmarkAddSelection |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
BenchmarkAddNodes 10000000 209 ns/op |
||||
--- BENCH: BenchmarkAddNodes |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
BenchmarkAndSelf 1000000 2568 ns/op |
||||
--- BENCH: BenchmarkAndSelf |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
BenchmarkFilter 100000 26715 ns/op |
||||
--- BENCH: BenchmarkFilter |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
BenchmarkNot 50000 30058 ns/op |
||||
--- BENCH: BenchmarkNot |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
BenchmarkFilterFunction 50000 66346 ns/op |
||||
--- BENCH: BenchmarkFilterFunction |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
BenchmarkNotFunction 50000 72646 ns/op |
||||
--- BENCH: BenchmarkNotFunction |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
BenchmarkFilterNodes 50000 65493 ns/op |
||||
--- BENCH: BenchmarkFilterNodes |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
BenchmarkNotNodes 20000 79466 ns/op |
||||
--- BENCH: BenchmarkNotNodes |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
BenchmarkFilterSelection 50000 65494 ns/op |
||||
--- BENCH: BenchmarkFilterSelection |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
BenchmarkNotSelection 20000 79387 ns/op |
||||
--- BENCH: BenchmarkNotSelection |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
BenchmarkHas 5000 386571 ns/op |
||||
--- BENCH: BenchmarkHas |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
BenchmarkHasNodes 10000 230664 ns/op |
||||
--- BENCH: BenchmarkHasNodes |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
BenchmarkHasSelection 10000 230705 ns/op |
||||
--- BENCH: BenchmarkHasSelection |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
BenchmarkEnd 500000000 4.61 ns/op |
||||
--- BENCH: BenchmarkEnd |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
BenchmarkEach 200000 9520 ns/op |
||||
--- BENCH: BenchmarkEach |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
BenchmarkMap 100000 15960 ns/op |
||||
--- BENCH: BenchmarkMap |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
BenchmarkAttr 50000000 30.4 ns/op |
||||
--- BENCH: BenchmarkAttr |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
BenchmarkText 100000 18718 ns/op |
||||
BenchmarkLength 2000000000 0.31 ns/op |
||||
--- BENCH: BenchmarkLength |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
BenchmarkHtml 5000000 606 ns/op |
||||
BenchmarkIs 100000 29289 ns/op |
||||
--- BENCH: BenchmarkIs |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
BenchmarkIsPositional 100000 23834 ns/op |
||||
--- BENCH: BenchmarkIsPositional |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
BenchmarkIsFunction 1000000 2436 ns/op |
||||
--- BENCH: BenchmarkIsFunction |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
BenchmarkIsSelection 50000 67106 ns/op |
||||
--- BENCH: BenchmarkIsSelection |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
BenchmarkIsNodes 50000 66042 ns/op |
||||
--- BENCH: BenchmarkIsNodes |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
BenchmarkHasClass 5000 565347 ns/op |
||||
--- BENCH: BenchmarkHasClass |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
BenchmarkContains 100000000 11.0 ns/op |
||||
--- BENCH: BenchmarkContains |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
BenchmarkFind 100000 27677 ns/op |
||||
--- BENCH: BenchmarkFind |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
BenchmarkFindWithinSelection 50000 72162 ns/op |
||||
--- BENCH: BenchmarkFindWithinSelection |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
BenchmarkFindSelection 5000 460124 ns/op |
||||
--- BENCH: BenchmarkFindSelection |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
BenchmarkFindNodes 5000 459390 ns/op |
||||
--- BENCH: BenchmarkFindNodes |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
BenchmarkContents 500000 3395 ns/op |
||||
--- BENCH: BenchmarkContents |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
BenchmarkContentsFiltered 500000 5193 ns/op |
||||
--- BENCH: BenchmarkContentsFiltered |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
BenchmarkChildren 5000000 667 ns/op |
||||
--- BENCH: BenchmarkChildren |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
BenchmarkChildrenFiltered 500000 3591 ns/op |
||||
--- BENCH: BenchmarkChildrenFiltered |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
BenchmarkParent 50000 43168 ns/op |
||||
--- BENCH: BenchmarkParent |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
BenchmarkParentFiltered 50000 45836 ns/op |
||||
--- BENCH: BenchmarkParentFiltered |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
BenchmarkParents 20000 92348 ns/op |
||||
--- BENCH: BenchmarkParents |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
BenchmarkParentsFiltered 20000 95306 ns/op |
||||
--- BENCH: BenchmarkParentsFiltered |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
BenchmarkParentsUntil 50000 72782 ns/op |
||||
--- BENCH: BenchmarkParentsUntil |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
BenchmarkParentsUntilSelection 10000 157639 ns/op |
||||
--- BENCH: BenchmarkParentsUntilSelection |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
BenchmarkParentsUntilNodes 10000 157510 ns/op |
||||
--- BENCH: BenchmarkParentsUntilNodes |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
BenchmarkParentsFilteredUntil 100000 16987 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntil |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
BenchmarkParentsFilteredUntilSelection 100000 21174 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilSelection |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
BenchmarkParentsFilteredUntilNodes 100000 21238 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilNodes |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
BenchmarkSiblings 50000 66536 ns/op |
||||
--- BENCH: BenchmarkSiblings |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
BenchmarkSiblingsFiltered 50000 71822 ns/op |
||||
--- BENCH: BenchmarkSiblingsFiltered |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
BenchmarkNext 200000 10745 ns/op |
||||
--- BENCH: BenchmarkNext |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
BenchmarkNextFiltered 200000 12399 ns/op |
||||
--- BENCH: BenchmarkNextFiltered |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
BenchmarkNextAll 50000 44640 ns/op |
||||
--- BENCH: BenchmarkNextAll |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
BenchmarkNextAllFiltered 50000 49713 ns/op |
||||
--- BENCH: BenchmarkNextAllFiltered |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
BenchmarkPrev 200000 10743 ns/op |
||||
--- BENCH: BenchmarkPrev |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
BenchmarkPrevFiltered 200000 12456 ns/op |
||||
--- BENCH: BenchmarkPrevFiltered |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
BenchmarkPrevAll 100000 17600 ns/op |
||||
--- BENCH: BenchmarkPrevAll |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
BenchmarkPrevAllFiltered 100000 19460 ns/op |
||||
--- BENCH: BenchmarkPrevAllFiltered |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
BenchmarkNextUntil 20000 92630 ns/op |
||||
--- BENCH: BenchmarkNextUntil |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
BenchmarkNextUntilSelection 50000 61285 ns/op |
||||
--- BENCH: BenchmarkNextUntilSelection |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
BenchmarkNextUntilNodes 100000 25859 ns/op |
||||
--- BENCH: BenchmarkNextUntilNodes |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
BenchmarkPrevUntil 10000 230236 ns/op |
||||
--- BENCH: BenchmarkPrevUntil |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
BenchmarkPrevUntilSelection 20000 77837 ns/op |
||||
--- BENCH: BenchmarkPrevUntilSelection |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
BenchmarkPrevUntilNodes 100000 20784 ns/op |
||||
--- BENCH: BenchmarkPrevUntilNodes |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
BenchmarkNextFilteredUntil 50000 46147 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntil |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
BenchmarkNextFilteredUntilSelection 50000 67164 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilSelection |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
BenchmarkNextFilteredUntilNodes 50000 66628 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilNodes |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
BenchmarkPrevFilteredUntil 50000 46697 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntil |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
BenchmarkPrevFilteredUntilSelection 50000 68646 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilSelection |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
BenchmarkPrevFilteredUntilNodes 50000 68745 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilNodes |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
BenchmarkClosest 500000 4909 ns/op |
||||
--- BENCH: BenchmarkClosest |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
BenchmarkClosestSelection 5000000 744 ns/op |
||||
--- BENCH: BenchmarkClosestSelection |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
BenchmarkClosestNodes 5000000 733 ns/op |
||||
--- BENCH: BenchmarkClosestNodes |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
ok github.com/PuerkitoBio/goquery 220.793s |
@ -1,476 +0,0 @@
@@ -1,476 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 95.5 ns/op |
||||
BenchmarkLast 20000000 94.9 ns/op |
||||
BenchmarkEq 20000000 95.7 ns/op |
||||
BenchmarkSlice 20000000 91.7 ns/op |
||||
BenchmarkGet 1000000000 2.05 ns/op |
||||
BenchmarkIndex 1000000 1079 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 100000 26972 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 100000000 10.8 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 11.7 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 10000 213800 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 100000 21811 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
BenchmarkAddSelection 10000000 205 ns/op |
||||
--- BENCH: BenchmarkAddSelection |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
BenchmarkAddNodes 10000000 202 ns/op |
||||
--- BENCH: BenchmarkAddNodes |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
BenchmarkAndSelf 1000000 2467 ns/op |
||||
--- BENCH: BenchmarkAndSelf |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
BenchmarkFilter 100000 25643 ns/op |
||||
--- BENCH: BenchmarkFilter |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
BenchmarkNot 100000 29566 ns/op |
||||
--- BENCH: BenchmarkNot |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
BenchmarkFilterFunction 50000 66894 ns/op |
||||
--- BENCH: BenchmarkFilterFunction |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
BenchmarkNotFunction 50000 72183 ns/op |
||||
--- BENCH: BenchmarkNotFunction |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
BenchmarkFilterNodes 50000 65516 ns/op |
||||
--- BENCH: BenchmarkFilterNodes |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
BenchmarkNotNodes 20000 78880 ns/op |
||||
--- BENCH: BenchmarkNotNodes |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
BenchmarkFilterSelection 50000 65232 ns/op |
||||
--- BENCH: BenchmarkFilterSelection |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
BenchmarkNotSelection 20000 78813 ns/op |
||||
--- BENCH: BenchmarkNotSelection |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
BenchmarkHas 5000 388834 ns/op |
||||
--- BENCH: BenchmarkHas |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
BenchmarkHasNodes 10000 228552 ns/op |
||||
--- BENCH: BenchmarkHasNodes |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
BenchmarkHasSelection 10000 228365 ns/op |
||||
--- BENCH: BenchmarkHasSelection |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
BenchmarkEnd 500000000 4.62 ns/op |
||||
--- BENCH: BenchmarkEnd |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
BenchmarkEach 200000 9548 ns/op |
||||
--- BENCH: BenchmarkEach |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
BenchmarkMap 100000 15900 ns/op |
||||
--- BENCH: BenchmarkMap |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
BenchmarkEachWithBreak 1000000 1650 ns/op |
||||
--- BENCH: BenchmarkEachWithBreak |
||||
bench_iteration_test.go:61: Each=10 |
||||
bench_iteration_test.go:61: Each=10 |
||||
bench_iteration_test.go:61: Each=10 |
||||
bench_iteration_test.go:61: Each=10 |
||||
BenchmarkAttr 50000000 30.5 ns/op |
||||
--- BENCH: BenchmarkAttr |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
BenchmarkText 100000 18873 ns/op |
||||
BenchmarkLength 2000000000 0.31 ns/op |
||||
--- BENCH: BenchmarkLength |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
BenchmarkHtml 5000000 616 ns/op |
||||
BenchmarkIs 100000 29499 ns/op |
||||
--- BENCH: BenchmarkIs |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
BenchmarkIsPositional 100000 23733 ns/op |
||||
--- BENCH: BenchmarkIsPositional |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
BenchmarkIsFunction 1000000 2404 ns/op |
||||
--- BENCH: BenchmarkIsFunction |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
BenchmarkIsSelection 50000 65376 ns/op |
||||
--- BENCH: BenchmarkIsSelection |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
BenchmarkIsNodes 50000 65322 ns/op |
||||
--- BENCH: BenchmarkIsNodes |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
BenchmarkHasClass 5000 558933 ns/op |
||||
--- BENCH: BenchmarkHasClass |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
BenchmarkContains 100000000 11.1 ns/op |
||||
--- BENCH: BenchmarkContains |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
BenchmarkFind 100000 27841 ns/op |
||||
--- BENCH: BenchmarkFind |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
BenchmarkFindWithinSelection 50000 72096 ns/op |
||||
--- BENCH: BenchmarkFindWithinSelection |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
BenchmarkFindSelection 5000 457349 ns/op |
||||
--- BENCH: BenchmarkFindSelection |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
BenchmarkFindNodes 5000 459324 ns/op |
||||
--- BENCH: BenchmarkFindNodes |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
BenchmarkContents 500000 3435 ns/op |
||||
--- BENCH: BenchmarkContents |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
BenchmarkContentsFiltered 500000 5241 ns/op |
||||
--- BENCH: BenchmarkContentsFiltered |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
BenchmarkChildren 5000000 667 ns/op |
||||
--- BENCH: BenchmarkChildren |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
BenchmarkChildrenFiltered 500000 3639 ns/op |
||||
--- BENCH: BenchmarkChildrenFiltered |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
BenchmarkParent 50000 44867 ns/op |
||||
--- BENCH: BenchmarkParent |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
BenchmarkParentFiltered 50000 46476 ns/op |
||||
--- BENCH: BenchmarkParentFiltered |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
BenchmarkParents 20000 92559 ns/op |
||||
--- BENCH: BenchmarkParents |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
BenchmarkParentsFiltered 20000 96142 ns/op |
||||
--- BENCH: BenchmarkParentsFiltered |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
BenchmarkParentsUntil 50000 73931 ns/op |
||||
--- BENCH: BenchmarkParentsUntil |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
BenchmarkParentsUntilSelection 10000 159820 ns/op |
||||
--- BENCH: BenchmarkParentsUntilSelection |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
BenchmarkParentsUntilNodes 10000 158811 ns/op |
||||
--- BENCH: BenchmarkParentsUntilNodes |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
BenchmarkParentsFilteredUntil 100000 17203 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntil |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
BenchmarkParentsFilteredUntilSelection 100000 21358 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilSelection |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
BenchmarkParentsFilteredUntilNodes 100000 21338 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilNodes |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
BenchmarkSiblings 50000 66463 ns/op |
||||
--- BENCH: BenchmarkSiblings |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
BenchmarkSiblingsFiltered 50000 72503 ns/op |
||||
--- BENCH: BenchmarkSiblingsFiltered |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
BenchmarkNext 200000 10881 ns/op |
||||
--- BENCH: BenchmarkNext |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
BenchmarkNextFiltered 200000 12588 ns/op |
||||
--- BENCH: BenchmarkNextFiltered |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
BenchmarkNextAll 50000 45075 ns/op |
||||
--- BENCH: BenchmarkNextAll |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
BenchmarkNextAllFiltered 50000 50455 ns/op |
||||
--- BENCH: BenchmarkNextAllFiltered |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
BenchmarkPrev 200000 10933 ns/op |
||||
--- BENCH: BenchmarkPrev |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
BenchmarkPrevFiltered 200000 12579 ns/op |
||||
--- BENCH: BenchmarkPrevFiltered |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
BenchmarkPrevAll 100000 17751 ns/op |
||||
--- BENCH: BenchmarkPrevAll |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
BenchmarkPrevAllFiltered 100000 19702 ns/op |
||||
--- BENCH: BenchmarkPrevAllFiltered |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
BenchmarkNextUntil 20000 93586 ns/op |
||||
--- BENCH: BenchmarkNextUntil |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
BenchmarkNextUntilSelection 50000 61155 ns/op |
||||
--- BENCH: BenchmarkNextUntilSelection |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
BenchmarkNextUntilNodes 100000 25805 ns/op |
||||
--- BENCH: BenchmarkNextUntilNodes |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
BenchmarkPrevUntil 10000 232225 ns/op |
||||
--- BENCH: BenchmarkPrevUntil |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
BenchmarkPrevUntilSelection 20000 78316 ns/op |
||||
--- BENCH: BenchmarkPrevUntilSelection |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
BenchmarkPrevUntilNodes 100000 20657 ns/op |
||||
--- BENCH: BenchmarkPrevUntilNodes |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
BenchmarkNextFilteredUntil 50000 46567 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntil |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
BenchmarkNextFilteredUntilSelection 50000 67227 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilSelection |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
BenchmarkNextFilteredUntilNodes 50000 66995 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilNodes |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
BenchmarkPrevFilteredUntil 50000 47361 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntil |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
BenchmarkPrevFilteredUntilSelection 50000 68802 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilSelection |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
BenchmarkPrevFilteredUntilNodes 50000 68928 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilNodes |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
BenchmarkClosest 500000 4922 ns/op |
||||
--- BENCH: BenchmarkClosest |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
BenchmarkClosestSelection 5000000 738 ns/op |
||||
--- BENCH: BenchmarkClosestSelection |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
BenchmarkClosestNodes 5000000 737 ns/op |
||||
--- BENCH: BenchmarkClosestNodes |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
ok github.com/PuerkitoBio/goquery 224.003s |
@ -1,478 +0,0 @@
@@ -1,478 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 88.4 ns/op |
||||
BenchmarkLast 20000000 88.2 ns/op |
||||
BenchmarkEq 20000000 87.4 ns/op |
||||
BenchmarkSlice 20000000 84.9 ns/op |
||||
BenchmarkGet 2000000000 1.99 ns/op |
||||
BenchmarkIndex 2000000 906 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 100000 22276 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 200000000 9.72 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 10.4 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 10000 199277 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 100000 18277 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
bench_expand_test.go:20: Add=43 |
||||
BenchmarkAddSelection 10000000 200 ns/op |
||||
--- BENCH: BenchmarkAddSelection |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
bench_expand_test.go:37: AddSelection=43 |
||||
BenchmarkAddNodes 10000000 189 ns/op |
||||
--- BENCH: BenchmarkAddNodes |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
bench_expand_test.go:55: AddNodes=43 |
||||
BenchmarkAndSelf 1000000 2569 ns/op |
||||
--- BENCH: BenchmarkAndSelf |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
bench_expand_test.go:71: AndSelf=44 |
||||
BenchmarkFilter 100000 25195 ns/op |
||||
--- BENCH: BenchmarkFilter |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
bench_filter_test.go:20: Filter=13 |
||||
BenchmarkNot 100000 29003 ns/op |
||||
--- BENCH: BenchmarkNot |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
bench_filter_test.go:36: Not=371 |
||||
BenchmarkFilterFunction 50000 60690 ns/op |
||||
--- BENCH: BenchmarkFilterFunction |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
bench_filter_test.go:55: FilterFunction=112 |
||||
BenchmarkNotFunction 50000 66008 ns/op |
||||
--- BENCH: BenchmarkNotFunction |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
bench_filter_test.go:74: NotFunction=261 |
||||
BenchmarkFilterNodes 50000 59723 ns/op |
||||
--- BENCH: BenchmarkFilterNodes |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
bench_filter_test.go:92: FilterNodes=2 |
||||
BenchmarkNotNodes 50000 72698 ns/op |
||||
--- BENCH: BenchmarkNotNodes |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
bench_filter_test.go:110: NotNodes=360 |
||||
BenchmarkFilterSelection 50000 59598 ns/op |
||||
--- BENCH: BenchmarkFilterSelection |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
bench_filter_test.go:127: FilterSelection=2 |
||||
BenchmarkNotSelection 50000 72526 ns/op |
||||
--- BENCH: BenchmarkNotSelection |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
bench_filter_test.go:144: NotSelection=360 |
||||
BenchmarkHas 5000 367076 ns/op |
||||
--- BENCH: BenchmarkHas |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
bench_filter_test.go:160: Has=13 |
||||
BenchmarkHasNodes 10000 219710 ns/op |
||||
--- BENCH: BenchmarkHasNodes |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
bench_filter_test.go:178: HasNodes=15 |
||||
BenchmarkHasSelection 10000 219105 ns/op |
||||
--- BENCH: BenchmarkHasSelection |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
bench_filter_test.go:195: HasSelection=15 |
||||
BenchmarkEnd 500000000 4.58 ns/op |
||||
--- BENCH: BenchmarkEnd |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
bench_filter_test.go:211: End=373 |
||||
BenchmarkEach 200000 8615 ns/op |
||||
--- BENCH: BenchmarkEach |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
bench_iteration_test.go:22: Each=59 |
||||
BenchmarkMap 200000 14271 ns/op |
||||
--- BENCH: BenchmarkMap |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
bench_iteration_test.go:41: Map=59 |
||||
BenchmarkEachWithBreak 1000000 1497 ns/op |
||||
--- BENCH: BenchmarkEachWithBreak |
||||
bench_iteration_test.go:61: Each=10 |
||||
bench_iteration_test.go:61: Each=10 |
||||
bench_iteration_test.go:61: Each=10 |
||||
bench_iteration_test.go:61: Each=10 |
||||
BenchmarkAttr 50000000 30.9 ns/op |
||||
--- BENCH: BenchmarkAttr |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
bench_property_test.go:16: Attr=firstHeading |
||||
BenchmarkText 200000 13729 ns/op |
||||
BenchmarkLength 2000000000 0.31 ns/op |
||||
--- BENCH: BenchmarkLength |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
bench_property_test.go:37: Length=14 |
||||
BenchmarkHtml 5000000 537 ns/op |
||||
BenchmarkIs 100000 28904 ns/op |
||||
--- BENCH: BenchmarkIs |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
bench_query_test.go:16: Is=true |
||||
BenchmarkIsPositional 100000 23556 ns/op |
||||
--- BENCH: BenchmarkIsPositional |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
bench_query_test.go:28: IsPositional=true |
||||
BenchmarkIsFunction 1000000 2195 ns/op |
||||
--- BENCH: BenchmarkIsFunction |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
bench_query_test.go:43: IsFunction=true |
||||
BenchmarkIsSelection 50000 60100 ns/op |
||||
--- BENCH: BenchmarkIsSelection |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
bench_query_test.go:56: IsSelection=true |
||||
BenchmarkIsNodes 50000 59962 ns/op |
||||
--- BENCH: BenchmarkIsNodes |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
bench_query_test.go:70: IsNodes=true |
||||
BenchmarkHasClass 5000 388679 ns/op |
||||
--- BENCH: BenchmarkHasClass |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
bench_query_test.go:82: HasClass=true |
||||
BenchmarkContains 100000000 11.0 ns/op |
||||
--- BENCH: BenchmarkContains |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
bench_query_test.go:96: Contains=true |
||||
BenchmarkFind 100000 22779 ns/op |
||||
--- BENCH: BenchmarkFind |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
bench_traversal_test.go:18: Find=41 |
||||
BenchmarkFindWithinSelection 50000 62033 ns/op |
||||
--- BENCH: BenchmarkFindWithinSelection |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
bench_traversal_test.go:34: FindWithinSelection=39 |
||||
BenchmarkFindSelection 5000 446918 ns/op |
||||
--- BENCH: BenchmarkFindSelection |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
bench_traversal_test.go:51: FindSelection=73 |
||||
BenchmarkFindNodes 5000 441753 ns/op |
||||
--- BENCH: BenchmarkFindNodes |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
bench_traversal_test.go:69: FindNodes=73 |
||||
BenchmarkContents 1000000 2807 ns/op |
||||
--- BENCH: BenchmarkContents |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
bench_traversal_test.go:85: Contents=16 |
||||
BenchmarkContentsFiltered 500000 4477 ns/op |
||||
--- BENCH: BenchmarkContentsFiltered |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
bench_traversal_test.go:101: ContentsFiltered=1 |
||||
BenchmarkChildren 5000000 548 ns/op |
||||
--- BENCH: BenchmarkChildren |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
bench_traversal_test.go:117: Children=2 |
||||
BenchmarkChildrenFiltered 500000 3304 ns/op |
||||
--- BENCH: BenchmarkChildrenFiltered |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
bench_traversal_test.go:133: ChildrenFiltered=2 |
||||
BenchmarkParent 50000 38248 ns/op |
||||
--- BENCH: BenchmarkParent |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
bench_traversal_test.go:149: Parent=55 |
||||
BenchmarkParentFiltered 50000 40677 ns/op |
||||
--- BENCH: BenchmarkParentFiltered |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
bench_traversal_test.go:165: ParentFiltered=4 |
||||
BenchmarkParents 20000 83043 ns/op |
||||
--- BENCH: BenchmarkParents |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
bench_traversal_test.go:181: Parents=73 |
||||
BenchmarkParentsFiltered 20000 85391 ns/op |
||||
--- BENCH: BenchmarkParentsFiltered |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
bench_traversal_test.go:197: ParentsFiltered=18 |
||||
BenchmarkParentsUntil 50000 65118 ns/op |
||||
--- BENCH: BenchmarkParentsUntil |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
bench_traversal_test.go:213: ParentsUntil=52 |
||||
BenchmarkParentsUntilSelection 10000 144028 ns/op |
||||
--- BENCH: BenchmarkParentsUntilSelection |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
bench_traversal_test.go:230: ParentsUntilSelection=70 |
||||
BenchmarkParentsUntilNodes 10000 146713 ns/op |
||||
--- BENCH: BenchmarkParentsUntilNodes |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
bench_traversal_test.go:248: ParentsUntilNodes=70 |
||||
BenchmarkParentsFilteredUntil 100000 15113 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntil |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
bench_traversal_test.go:264: ParentsFilteredUntil=2 |
||||
BenchmarkParentsFilteredUntilSelection 100000 18881 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilSelection |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
bench_traversal_test.go:281: ParentsFilteredUntilSelection=2 |
||||
BenchmarkParentsFilteredUntilNodes 100000 18926 ns/op |
||||
--- BENCH: BenchmarkParentsFilteredUntilNodes |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
bench_traversal_test.go:299: ParentsFilteredUntilNodes=2 |
||||
BenchmarkSiblings 50000 63221 ns/op |
||||
--- BENCH: BenchmarkSiblings |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
bench_traversal_test.go:315: Siblings=293 |
||||
BenchmarkSiblingsFiltered 50000 69028 ns/op |
||||
--- BENCH: BenchmarkSiblingsFiltered |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
bench_traversal_test.go:331: SiblingsFiltered=46 |
||||
BenchmarkNext 200000 9133 ns/op |
||||
--- BENCH: BenchmarkNext |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
bench_traversal_test.go:347: Next=49 |
||||
BenchmarkNextFiltered 200000 10601 ns/op |
||||
--- BENCH: BenchmarkNextFiltered |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
bench_traversal_test.go:363: NextFiltered=6 |
||||
BenchmarkNextAll 50000 43089 ns/op |
||||
--- BENCH: BenchmarkNextAll |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
bench_traversal_test.go:379: NextAll=234 |
||||
BenchmarkNextAllFiltered 50000 47867 ns/op |
||||
--- BENCH: BenchmarkNextAllFiltered |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
bench_traversal_test.go:395: NextAllFiltered=33 |
||||
BenchmarkPrev 200000 9104 ns/op |
||||
--- BENCH: BenchmarkPrev |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
bench_traversal_test.go:411: Prev=49 |
||||
BenchmarkPrevFiltered 200000 10579 ns/op |
||||
--- BENCH: BenchmarkPrevFiltered |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
bench_traversal_test.go:429: PrevFiltered=7 |
||||
BenchmarkPrevAll 100000 15185 ns/op |
||||
--- BENCH: BenchmarkPrevAll |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
bench_traversal_test.go:445: PrevAll=78 |
||||
BenchmarkPrevAllFiltered 100000 17108 ns/op |
||||
--- BENCH: BenchmarkPrevAllFiltered |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
bench_traversal_test.go:461: PrevAllFiltered=6 |
||||
BenchmarkNextUntil 20000 81087 ns/op |
||||
--- BENCH: BenchmarkNextUntil |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
bench_traversal_test.go:477: NextUntil=84 |
||||
BenchmarkNextUntilSelection 50000 55831 ns/op |
||||
--- BENCH: BenchmarkNextUntilSelection |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
bench_traversal_test.go:494: NextUntilSelection=42 |
||||
BenchmarkNextUntilNodes 100000 23130 ns/op |
||||
--- BENCH: BenchmarkNextUntilNodes |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
bench_traversal_test.go:512: NextUntilNodes=12 |
||||
BenchmarkPrevUntil 10000 204673 ns/op |
||||
--- BENCH: BenchmarkPrevUntil |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
bench_traversal_test.go:528: PrevUntil=238 |
||||
BenchmarkPrevUntilSelection 50000 70965 ns/op |
||||
--- BENCH: BenchmarkPrevUntilSelection |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
bench_traversal_test.go:545: PrevUntilSelection=49 |
||||
BenchmarkPrevUntilNodes 100000 18591 ns/op |
||||
--- BENCH: BenchmarkPrevUntilNodes |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
bench_traversal_test.go:563: PrevUntilNodes=11 |
||||
BenchmarkNextFilteredUntil 50000 42004 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntil |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
bench_traversal_test.go:579: NextFilteredUntil=22 |
||||
BenchmarkNextFilteredUntilSelection 50000 61953 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilSelection |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
bench_traversal_test.go:596: NextFilteredUntilSelection=22 |
||||
BenchmarkNextFilteredUntilNodes 50000 62124 ns/op |
||||
--- BENCH: BenchmarkNextFilteredUntilNodes |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
bench_traversal_test.go:614: NextFilteredUntilNodes=22 |
||||
BenchmarkPrevFilteredUntil 50000 42861 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntil |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
bench_traversal_test.go:630: PrevFilteredUntil=20 |
||||
BenchmarkPrevFilteredUntilSelection 50000 62451 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilSelection |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
bench_traversal_test.go:647: PrevFilteredUntilSelection=20 |
||||
BenchmarkPrevFilteredUntilNodes 50000 62631 ns/op |
||||
--- BENCH: BenchmarkPrevFilteredUntilNodes |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
bench_traversal_test.go:665: PrevFilteredUntilNodes=20 |
||||
BenchmarkClosest 500000 4684 ns/op |
||||
--- BENCH: BenchmarkClosest |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
bench_traversal_test.go:681: Closest=2 |
||||
BenchmarkClosestSelection 5000000 622 ns/op |
||||
--- BENCH: BenchmarkClosestSelection |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
bench_traversal_test.go:698: ClosestSelection=2 |
||||
BenchmarkClosestNodes 5000000 617 ns/op |
||||
--- BENCH: BenchmarkClosestNodes |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
bench_traversal_test.go:715: ClosestNodes=2 |
||||
ok github.com/PuerkitoBio/goquery 218.724s |
@ -1,477 +0,0 @@
@@ -1,477 +0,0 @@
|
||||
PASS |
||||
BenchmarkFirst 20000000 88.3 ns/op |
||||
BenchmarkLast 20000000 88.9 ns/op |
||||
BenchmarkEq 20000000 86.7 ns/op |
||||
BenchmarkSlice 20000000 84.1 ns/op |
||||
BenchmarkGet 2000000000 1.99 ns/op |
||||
BenchmarkIndex 2000000 907 ns/op |
||||
--- BENCH: BenchmarkIndex |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
bench_array_test.go:73: Index=3 |
||||
BenchmarkIndexSelector 200000 13052 ns/op |
||||
--- BENCH: BenchmarkIndexSelector |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
bench_array_test.go:85: IndexSelector=4 |
||||
BenchmarkIndexOfNode 100000000 10.5 ns/op |
||||
--- BENCH: BenchmarkIndexOfNode |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
bench_array_test.go:99: IndexOfNode=2 |
||||
BenchmarkIndexOfSelection 100000000 11.6 ns/op |
||||
--- BENCH: BenchmarkIndexOfSelection |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
bench_array_test.go:111: IndexOfSelection=2 |
||||
BenchmarkMetalReviewExample 10000 189556 ns/op |
||||
--- BENCH: BenchmarkMetalReviewExample |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
|
||||
bench_example_test.go:41: MetalReviewExample=10 |
||||
bench_example_test.go:40: Review 0: Midnight - Complete and Total Hell (8.5). |
||||
Review 1: Over Your Threshold - Facticity (6.0). |
||||
Review 2: Nuclear Death Terror - Chaos Reigns (7.5). |
||||
Review 3: Evoken - Atra Mors (9.5). |
||||
... [output truncated] |
||||
BenchmarkAdd 200000 13714 ns/op |
||||
--- BENCH: BenchmarkAdd |
||||
bench_expand_test.go:20: Add=43 |
||||