Pistos (owner)

Revisions

gist: 202155 Download_button fork
public
Public Clone URL: git://gist.github.com/202155.git
Embed All Files: show embed
Ruby #
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
26
27
28
29
30
31
32
require 'better-benchmark'
 
b = 'b'
r = /a#{b}/
s = 'ab'
 
puts "Precreated interpolated vs. not precreated interpolated"
 
result = Benchmark.compare_realtime(
  :iterations => 10,
  :inner_iterations => 1_000_000,
  :verbose => true
) { |iteration|
  r =~ s
}.with { |iteration|
/a#{b}/ =~ s
}
 
Benchmark.report_on result
 
 
# % ruby19 regexp-bench3.rb
# Precreated interpolated vs. not precreated interpolated
# ..........
# Set 1 mean: 1.125 s
# Set 1 std dev: 0.022
# Set 2 mean: 7.795 s
# Set 2 std dev: 0.074
# p.value: 1.0825088224469e-05
# W: 0.0
# The difference (+593.2%) IS statistically significant.