]> Cypherpunks repositories - gostls13.git/commit
unicode/utf8: use range loop in RuneCountInString
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Thu, 12 Sep 2024 17:48:11 +0000 (00:48 +0700)
committerGopher Robot <gobot@golang.org>
Thu, 12 Sep 2024 19:10:46 +0000 (19:10 +0000)
commit751fbf9e5a73991fad24a48f1f523e446eb78291
tree4a4f173ce4430dd5c7a676572dde3fcc4f2072db
parent8efb5ebfd02a8e5cb6c79c5cd0e093fe896e6347
unicode/utf8: use range loop in RuneCountInString

CL 28490 speeded up non-ASCII rune decoding, and ASCII rune is also
decoded faster now.

Benchmark using:

    perflock -governor 70% go test -run=NONE -bench=BenchmarkRuneCountInString -count=10

Result:

name                                 old time/op  new time/op  delta
RuneCountInStringTenASCIIChars-8     10.2ns ± 0%   7.1ns ± 1%  -30.53%  (p=0.000 n=8+9)
RuneCountInStringTenJapaneseChars-8  49.3ns ± 2%  38.5ns ± 2%  -21.84%  (p=0.000 n=8+8)

Fixes #13162

Change-Id: Ifb01f3799c5c93e7f7c7af13a95becfde85ae807
Reviewed-on: https://go-review.googlesource.com/c/go/+/612617
Reviewed-by: Tim King <taking@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Tim King <taking@google.com>
src/unicode/utf8/utf8.go