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('\\') } }