diff options
| author | Kevin Burke <kev@inburke.com> | 2017-04-23 22:19:35 -0700 |
|---|---|---|
| committer | Kevin Burke <kev@inburke.com> | 2017-04-28 06:43:14 +0000 |
| commit | 89ebdbb5fd548051339705687c25d1d89abc4539 (patch) | |
| tree | 213aab74e25aad4478207fbb729264bd4aff2f7d /src/encoding/xml | |
| parent | 642a1cc7563953bf2be39eca461325bfa9735cde (diff) | |
| download | go-89ebdbb5fd548051339705687c25d1d89abc4539.tar.xz | |
regexp: speed up QuoteMeta with a lookup table
This is the same technique used in CL 24466. By adding a little bit of
size to the binary, we can remove a function call and gain a lot of
performance.
A raw array ([128]bool) would be faster, but is also be 128 bytes
instead of 16.
Running tip on a Mac:
name old time/op new time/op delta
QuoteMetaAll-4 192ns ±12% 120ns ±11% -37.27% (p=0.000 n=10+10)
QuoteMetaNone-4 186ns ± 6% 64ns ± 6% -65.52% (p=0.000 n=10+10)
name old speed new speed delta
QuoteMetaAll-4 73.2MB/s ±11% 116.6MB/s ±10% +59.21% (p=0.000 n=10+10)
QuoteMetaNone-4 139MB/s ± 6% 405MB/s ± 6% +190.74% (p=0.000 n=10+10)
Change-Id: I68ce9fe2ef1c28e2274157789b35b0dd6ae3efb5
Reviewed-on: https://go-review.googlesource.com/41495
Run-TryBot: Kevin Burke <kev@inburke.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/encoding/xml')
0 files changed, 0 insertions, 0 deletions
