forked from excon/excon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstring_ranged_index.rb
87 lines (65 loc) · 2.76 KB
/
string_ranged_index.rb
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Copied from my benchmark_hell repo: github.com/sgonyea/benchmark_hell
require 'benchmark'
iters = 1000000
string = "Test String OMG"
puts 'String ranged index vs. "coordinates"'
Benchmark.bmbm do |x|
x.report('ranged index') do
iters.times.each do
text = string[2..9]
end
end
x.report('coordinates') do
iters.times.each do
text = string[2, 9]
end
end
end
=begin
rvm exec bash -c 'echo && echo $RUBY_VERSION && echo && ruby string_ranged_index.rb'
jruby-1.5.6
String ranged index vs. "coordinates"
Rehearsal ------------------------------------------------
ranged index 0.419000 0.000000 0.419000 ( 0.372000)
coordinates 0.167000 0.000000 0.167000 ( 0.167000)
--------------------------------------- total: 0.586000sec
user system total real
ranged index 0.158000 0.000000 0.158000 ( 0.159000)
coordinates 0.125000 0.000000 0.125000 ( 0.125000)
macruby-0.7.1
String ranged index vs. "coordinates"
Rehearsal ------------------------------------------------
ranged index 1.490000 0.030000 1.520000 ( 1.061326)
coordinates 1.410000 0.030000 1.440000 ( 0.973640)
--------------------------------------- total: 2.960000sec
user system total real
ranged index 1.520000 0.030000 1.550000 ( 1.081424)
coordinates 1.480000 0.030000 1.510000 ( 1.029214)
rbx-head
String ranged index vs. "coordinates"
Rehearsal ------------------------------------------------
ranged index 1.333304 0.009398 1.342702 ( 1.229629)
coordinates 0.306087 0.000603 0.306690 ( 0.303538)
--------------------------------------- total: 1.649392sec
user system total real
ranged index 0.923626 0.001597 0.925223 ( 0.927411)
coordinates 0.298910 0.000533 0.299443 ( 0.300255)
ruby-1.8.7-p330
String ranged index vs. "coordinates"
Rehearsal ------------------------------------------------
ranged index 0.730000 0.000000 0.730000 ( 0.738612)
coordinates 0.660000 0.000000 0.660000 ( 0.660689)
--------------------------------------- total: 1.390000sec
user system total real
ranged index 0.750000 0.000000 0.750000 ( 0.746172)
coordinates 0.640000 0.000000 0.640000 ( 0.640687)
ruby-1.9.2-p136
String ranged index vs. "coordinates"
Rehearsal ------------------------------------------------
ranged index 0.670000 0.000000 0.670000 ( 0.679046)
coordinates 0.620000 0.000000 0.620000 ( 0.622257)
--------------------------------------- total: 1.290000sec
user system total real
ranged index 0.680000 0.000000 0.680000 ( 0.686510)
coordinates 0.620000 0.000000 0.620000 ( 0.624269)
=end