mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
tpl/collections: Add BenchmarkWhereOps
``` BenchmarkWhereOps/eq-10 8702 120410 ns/op 52280 B/op 2515 allocs/op BenchmarkWhereOps/ne-10 9829 120759 ns/op 52280 B/op 2515 allocs/op BenchmarkWhereOps/like-10 6754 176377 ns/op 52917 B/op 2515 allocs/op ```
This commit is contained in:
parent
f4598a0986
commit
ef6e813ca8
1 changed files with 44 additions and 0 deletions
|
@ -17,6 +17,7 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"math/rand"
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
|
@ -859,3 +860,46 @@ func TestEvaluateSubElem(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkWhereOps(b *testing.B) {
|
||||
ns := newNs()
|
||||
var seq []map[string]string
|
||||
ctx := context.Background()
|
||||
for i := 0; i < 500; i++ {
|
||||
seq = append(seq, map[string]string{"foo": "bar"})
|
||||
}
|
||||
for i := 0; i < 500; i++ {
|
||||
seq = append(seq, map[string]string{"foo": "baz"})
|
||||
}
|
||||
// Shuffle the sequence.
|
||||
for i := range seq {
|
||||
j := rand.Intn(i + 1)
|
||||
seq[i], seq[j] = seq[j], seq[i]
|
||||
}
|
||||
//results, err = ns.Where(context.Background(), test.seq, test.key, test.op, test.match)
|
||||
runOps := func(b *testing.B, op, match string) {
|
||||
_, err := ns.Where(ctx, seq, "foo", op, match)
|
||||
if err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
b.Run("eq", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
runOps(b, "eq", "bar")
|
||||
}
|
||||
})
|
||||
|
||||
b.Run("ne", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
runOps(b, "ne", "baz")
|
||||
}
|
||||
})
|
||||
|
||||
b.Run("like", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
runOps(b, "like", "^bar")
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue