• Egon Elbre's avatar
    unicode: improve SimpleFold performance for ascii · e607abbf
    Egon Elbre authored
    This change significantly speeds up case-insensitive regexp matching.
    
    benchmark                      old ns/op      new ns/op      delta
    BenchmarkMatchEasy0i_32-8      2690           1473           -45.24%
    BenchmarkMatchEasy0i_1K-8      80404          42269          -47.43%
    BenchmarkMatchEasy0i_32K-8     3272187        2076118        -36.55%
    BenchmarkMatchEasy0i_1M-8      104805990      66503805       -36.55%
    BenchmarkMatchEasy0i_32M-8     3360192200     2126121600     -36.73%
    
    benchmark                      old MB/s     new MB/s     speedup
    BenchmarkMatchEasy0i_32-8      11.90        21.72        1.83x
    BenchmarkMatchEasy0i_1K-8      12.74        24.23        1.90x
    BenchmarkMatchEasy0i_32K-8     10.01        15.78        1.58x
    BenchmarkMatchEasy0i_1M-8      10.00        15.77        1.58x
    BenchmarkMatchEasy0i_32M-8     9.99         15.78        1.58x
    
    Issue #13288
    
    Change-Id: I94af7bb29e75d60b4f6ee760124867ab271b9642
    Reviewed-on: https://go-review.googlesource.com/16943Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    e607abbf
tables.go 178 KB