File: htmlescapewriter_timing_test.go

package info (click to toggle)
golang-github-valyala-quicktemplate 1.7.0%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 468 kB
  • sloc: xml: 15; makefile: 14
file content (31 lines) | stat: -rw-r--r-- 634 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package quicktemplate

import (
	"testing"
)

func BenchmarkHTMLEscapeWriterNoHTML(b *testing.B) {
	s := "foobarbazabcdefghjkl"
	benchmarkHTMLEscapeWriter(b, s)
}

func BenchmarkHTMLEscapeWriterWithHTML(b *testing.B) {
	s := "foo<a>baza</a>fghjkl"
	benchmarkHTMLEscapeWriter(b, s)
}

func benchmarkHTMLEscapeWriter(b *testing.B, s string) {
	sBytes := []byte(s)
	b.RunParallel(func(pb *testing.PB) {
		var err error
		bb := AcquireByteBuffer()
		w := &htmlEscapeWriter{w: bb}
		for pb.Next() {
			if _, err = w.Write(sBytes); err != nil {
				b.Fatalf("unexpected error: %s", err)
			}
			bb.Reset()
		}
		ReleaseByteBuffer(bb)
	})
}