Skip to content

Instantly share code, notes, and snippets.

@silentshade
Created April 24, 2013 16:23
Show Gist options
  • Save silentshade/5453450 to your computer and use it in GitHub Desktop.
Save silentshade/5453450 to your computer and use it in GitHub Desktop.
Benchmark.bm() do |x|
x.report { 1000000.times { %r(это медленно или быстро)i }}
x.report { 1000000.times { /это медленно или быстро\?/i }}
x.report { 1000000.times { Regexp.new('это медленно или быстро',true) }}
end
user system total real
0.050000 0.000000 0.050000 ( 0.047505)
0.050000 0.000000 0.050000 ( 0.047224)
12.010000 0.150000 12.160000 ( 12.169472)
@pavelz
Copy link

pavelz commented Apr 24, 2013

супер, в таком же духе. Benchmark твой друг в рубишных приложениях.

Видимо кэшируется результат regexp генерации, но надо осторожным быть т.к. иногда implict обозначения могуть компилится каждый раз когда интерпретатор проходит линию где они определены

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