1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
require_relative './shared'
str = 'Lorem ipsum et dolorem'
rx = /\s/
cs = CharacterSet.whitespace
benchmark(
caption: 'Detecting whitespace',
cases: {
'Regexp#match?' => -> { rx.match?(str) },
'CharacterSet#used_by?' => -> { cs.used_by?(str) },
}
)
str = 'Lorem ipsum et dolorem' * 20 + '⛷' + 'Lorem ipsum et dolorem' * 20
rx = /\p{emoji}/
cs = CharacterSet.emoji
benchmark(
caption: 'Detecting emoji in a large string',
cases: {
'Regexp#match?' => -> { rx.match?(str) },
'CharacterSet#used_by?' => -> { cs.used_by?(str) },
}
)
|