• Russ Cox's avatar
    exp/regexp: implement regexp API using exp/regexp/syntax · a1e7cd97
    Russ Cox authored
    Still need to write tests for new syntax
    and fix bugs that the tests find, but this
    is a good check point.
    
    All tests pass.
    
    Compared against existing regexp:
    
    benchmark                                old ns/op    new ns/op    delta
    regexp.BenchmarkLiteral                       1869          620  -66.83%
    regexp.BenchmarkNotLiteral                    9489         7823  -17.56%
    regexp.BenchmarkMatchClass                   10372         8386  -19.15%
    regexp.BenchmarkMatchClass_InRange           10800         7750  -28.24%
    regexp.BenchmarkReplaceAll                   13492         8519  -36.86%
    regexp.BenchmarkAnchoredLiteralShortNonMatch   747          339  -54.62%
    regexp.BenchmarkAnchoredLiteralLongNonMatch    599          335  -44.07%
    regexp.BenchmarkAnchoredShortMatch            2137          917  -57.09%
    regexp.BenchmarkAnchoredLongMatch             2029          917  -54.81%
    
    R=r, r
    CC=golang-dev, sam.thorogood
    https://golang.org/cl/4820046
    a1e7cd97
exec.go 7.01 KB