mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
bytes: add hard benchmarks for Index and Count
Add Benchmark(Index|Count)Hard[1-3] in preparation for implementing Index and Count in assembly on arm. Updates #29001 Change-Id: I2a9701892190e8d91de069c2f5a7f5bd3544c6c2 Reviewed-on: https://go-review.googlesource.com/c/go/+/167798 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
694012aa3b
commit
9d9d4eeb87
1 changed files with 23 additions and 0 deletions
|
|
@ -1654,16 +1654,39 @@ func makeBenchInputHard() []byte {
|
|||
|
||||
var benchInputHard = makeBenchInputHard()
|
||||
|
||||
func benchmarkIndexHard(b *testing.B, sep []byte) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
Index(benchInputHard, sep)
|
||||
}
|
||||
}
|
||||
|
||||
func benchmarkLastIndexHard(b *testing.B, sep []byte) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
LastIndex(benchInputHard, sep)
|
||||
}
|
||||
}
|
||||
|
||||
func benchmarkCountHard(b *testing.B, sep []byte) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
Count(benchInputHard, sep)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkIndexHard1(b *testing.B) { benchmarkIndexHard(b, []byte("<>")) }
|
||||
func BenchmarkIndexHard2(b *testing.B) { benchmarkIndexHard(b, []byte("</pre>")) }
|
||||
func BenchmarkIndexHard3(b *testing.B) { benchmarkIndexHard(b, []byte("<b>hello world</b>")) }
|
||||
func BenchmarkIndexHard4(b *testing.B) {
|
||||
benchmarkIndexHard(b, []byte("<pre><b>hello</b><strong>world</strong></pre>"))
|
||||
}
|
||||
|
||||
func BenchmarkLastIndexHard1(b *testing.B) { benchmarkLastIndexHard(b, []byte("<>")) }
|
||||
func BenchmarkLastIndexHard2(b *testing.B) { benchmarkLastIndexHard(b, []byte("</pre>")) }
|
||||
func BenchmarkLastIndexHard3(b *testing.B) { benchmarkLastIndexHard(b, []byte("<b>hello world</b>")) }
|
||||
|
||||
func BenchmarkCountHard1(b *testing.B) { benchmarkCountHard(b, []byte("<>")) }
|
||||
func BenchmarkCountHard2(b *testing.B) { benchmarkCountHard(b, []byte("</pre>")) }
|
||||
func BenchmarkCountHard3(b *testing.B) { benchmarkCountHard(b, []byte("<b>hello world</b>")) }
|
||||
|
||||
func BenchmarkSplitEmptySeparator(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
Split(benchInputHard, nil)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue