go-toml/parse/benchmark_test.go

77 lines
1002 B
Go

package parse_test
import (
"testing"
)
func A(b byte) (byte, bool) {
if b > 'b' {
switch b {
case 't':
return '\t', true
case 'n':
return '\n', true
case 'r':
return '\r', true
case 'f':
return '\f', true
}
} else {
switch b {
case '"':
return '"', true
case '\\':
return '\\', true
case 'b':
return '\b', true
}
}
return 0x00, false
}
func B(b byte) (byte, bool) {
switch b {
case 'r':
return '\r', true
case 'n':
return '\n', true
case 't':
return '\t', true
case 'b':
return '\b', true
case 'f':
return '\f', true
case '"':
return '"', true
case '\\':
return '\\', true
}
return 0x00, false
}
// TODO cleanup unused benchmark.
func Benchmark_A(b *testing.B) {
for i := 0; i < b.N; i++ {
A('b')
A('t')
A('n')
A('f')
A('r')
A('"')
A('\\')
}
}
// TODO cleanup unused benchmark.
func Benchmark_B(b *testing.B) {
for i := 0; i < b.N; i++ {
B('b')
B('t')
B('n')
B('f')
B('r')
B('"')
B('\\')
}
}