From fdd066e58ee7ed2bce7069c2f35a6ba005058da6 Mon Sep 17 00:00:00 2001 From: Adam Scarr Date: Tue, 8 Aug 2017 20:51:54 +1000 Subject: Add a larger json benchmark --- literals.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'literals.go') diff --git a/literals.go b/literals.go index 5dd9fef..70832f9 100644 --- a/literals.go +++ b/literals.go @@ -67,9 +67,16 @@ func StringLit(allowedQuotes string) Parser { ps.Pos = end + 1 return Node{Result: buf.String()} default: - r, w := utf8.DecodeRuneInString(ps.Input[end:]) - end += w - if buf != nil { + if buf == nil { + if ps.Input[end] < 127 { + end++ + } else { + _, w := utf8.DecodeRuneInString(ps.Input[end:]) + end += w + } + } else { + r, w := utf8.DecodeRuneInString(ps.Input[end:]) + end += w buf.WriteRune(r) } } -- cgit v1.2.3