Skip to content

Conversation

natecook1000
Copy link
Member

Replaces #255.

@natecook1000
Copy link
Member Author

This hits patterns that use built-in character classes pretty hard -- see the Word and Numbers tests below, which are /\w+/ and /\d+/, respectively:

Comparing against saved benchmark result benchmark-baseline
=== Regressions ================================================================
- EmojiRegex_All_Scalar                      69.6ms    68.5ms    1.07ms    1.6%
- CompilerMessages_All_Scalar                89.9ms    88.8ms    1.05ms    1.2%
- symDiffCCC_All                             27.9ms    27.1ms     735µs    2.7%
- Words_All                                  5.71ms    5.07ms     647µs   12.8%
- symDiffCCC_All_Scalar                      27.9ms    27.4ms     521µs    1.9%
- CompilerMessages_All                       98.4ms    97.9ms     507µs    0.5%
- Words_All_Scalar                           5.37ms    4.87ms     506µs   10.4%
- InvertedCCC_All_Scalar                     7.03ms    6.52ms     506µs    7.8%
- InvertedCCC_All                            7.02ms    6.51ms     504µs    7.7%
- Numbers_All                                3.71ms    3.22ms     492µs   15.3%
- EmailLookaheadNoMatches_All                30.6ms    30.2ms     416µs    1.4%
- IntersectionCCC_All_Scalar                 8.55ms    8.19ms     367µs    4.5%
- IntersectionCCC_All                        8.55ms    8.22ms     335µs    4.1%
- EmailBuiltinCharacterClass_All               16ms    15.6ms     327µs    2.1%
- DiceRollsInText_All_Scalar                 41.4ms    41.1ms     289µs    0.7%
- SubtractionCCC_All_Scalar                   9.1ms    8.82ms     288µs    3.3%
- SubtractionCCC_All                          9.1ms    8.81ms     286µs    3.3%
- Numbers_All_Scalar                         3.05ms    2.77ms     278µs   10.0%
- BasicCCC_All                               4.46ms    4.18ms     275µs    6.6%
- BasicCCC_All_Scalar                        4.45ms    4.18ms     273µs    6.5%
- BasicRangeCCC_All                          4.47ms    4.21ms     260µs    6.2%
- BasicRangeCCC_All_Scalar                   4.47ms    4.21ms     256µs    6.1%
- CaseInsensitiveCCC_All_Scalar              4.77ms    4.53ms     247µs    5.5%
- CaseInsensitiveCCC_All                     4.77ms    4.53ms     244µs    5.4%
- LiteralSearch_All                          3.32ms    3.08ms     239µs    7.8%
- LiteralSearch_All_Scalar                   2.73ms    2.49ms     233µs    9.3%
- BasicBuiltinCharacterClass_All                4ms    3.78ms     224µs    5.9%
- NotFound_All_Scalar                        2.99ms    2.77ms     216µs    7.8%
- BasicBuiltinCharacterClass_All_Scalar      3.35ms    3.14ms     205µs    6.5%
- LiteralSearchNotFound_All_Scalar           2.65ms    2.45ms     200µs    8.2%
- NotFound_All                               3.58ms    3.39ms     190µs    5.6%
- ReluctantQuantWithTerminal_Whole_Scalar    9.45ms    9.28ms     177µs    1.9%
- HangulSyllable_All_Scalar                  2.77ms     2.6ms     175µs    6.8%
- ReluctantQuant_Whole                       7.77ms     7.6ms     169µs    2.2%
- ReluctantQuant_Whole_Scalar                7.77ms     7.6ms     168µs    2.2%
- ReluctantQuantWithTerminal_Whole           9.42ms    9.26ms     159µs    1.7%
- HangulSyllable_All                         3.25ms    3.11ms     136µs    4.4%
- EmailBuiltinCharacterClass_All_Scalar      15.6ms    15.4ms     129µs    0.8%
- AnchoredNotFound_All                       8.11ms    7.99ms     122µs    1.5%
- AnchoredNotFound_First                     8.11ms    7.99ms     121µs    1.5%
- HangulSyllable_First                       1.53ms    1.42ms     111µs    7.8%
- HangulSyllable_First_Scalar                1.28ms    1.17ms     111µs    9.5%
- LiteralSearchNotFound_All                  3.09ms    3.01ms    87.5µs    2.9%
- EmailLookahead_All_Scalar                  24.5ms    24.4ms    81.1µs    0.3%
- AnchoredNotFound_First_Scalar              5.56ms     5.5ms    59.5µs    1.1%
- Css_All                                    2.82ms    2.78ms    33.7µs    1.2%
- URLWithWordBoundaries_All_SimpleWordBoundaries
                                              613µs     585µs    28.3µs    4.8%
- URLWithWordBoundaries_All_Scalar           2.14ms    2.11ms    25.2µs    1.2%
- Lines_All                                   985µs     968µs    16.8µs    1.7%
- IPv4Address                                2.21ms    2.19ms    12.4µs    0.6%
- Lines_All_Scalar                            944µs     934µs    10.3µs    1.1%
=== Improvements ===============================================================
- EmojiRegex_All                              141ms     151ms   -10.9ms   -7.2%
- EmailRFCNoMatches_All_Scalar               69.6ms      71ms   -1.33ms   -1.9%
- EmailRFC_All_Scalar                        49.1ms    50.2ms   -1.09ms   -2.2%
- EmailRFC_All                               51.4ms    52.3ms    -907µs   -1.7%
- Community_sspringerURL_All                  5.2ms    5.37ms    -169µs   -3.2%
- Community_sspringerURL_All_Scalar          5.02ms    5.15ms    -132µs   -2.6%
- FSPathsRegexNotFound                        3.8ms     3.9ms   -98.7µs   -2.5%
- FSPathsRegex_Scalar                         3.9ms    3.98ms   -80.3µs   -2.0%
- FSPathsRegex                               4.13ms     4.2ms   -66.5µs   -1.6%
- FSPathsRegexNotFound_Scalar                3.59ms    3.66ms   -65.7µs   -1.8%
- FSPathsRegexFound                          3.81ms    3.85ms   -44.9µs   -1.2%
- EmailLookaheadList_Scalar                  4.92ms    4.95ms   -34.9µs   -0.7%
- EmailLookaheadList                         5.13ms    5.16ms   -24.6µs   -0.5%
- IPv6Address_Scalar                         2.27ms     2.3ms   -22.9µs   -1.0%
- GraphemeBreakNoCap_All_Scalar               2.1ms    2.11ms   -8.94µs   -0.4%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants