fssm 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,68 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+
3
+ require 'fssm'
4
+ require 'pathname'
5
+
6
+ require 'rubygems'
7
+ require 'ruby-prof'
8
+
9
+ $test_path = "#{Pathname.new('..').expand_path}"
10
+ $iterations = 90000
11
+
12
+ class Pathname
13
+ # original segments implementation I was using with
14
+ # the plain ruby Pathname library.
15
+ def segments
16
+ prefix, names = split_names(@path)
17
+ names.unshift(prefix) unless prefix.empty?
18
+ names.shift if names[0] == '.'
19
+ names
20
+ end
21
+ end
22
+
23
+ core_result = Pathname.new($test_path).segments
24
+ fssm_result = FSSM::Pathname.new($test_path).segments
25
+ raise Exception, "#{core_result.inspect} != #{fssm_result.inspect}\nFSSM::Pathname is incompatible with Pathname" unless core_result == fssm_result
26
+
27
+ RubyProf.start
28
+ RubyProf.pause
29
+
30
+ $iterations.times do |num|
31
+ iteration = "%-6d" % (num + 1)
32
+ puts "FSSM::Pathname iteration #{iteration}"
33
+
34
+ RubyProf.resume
35
+ p = FSSM::Pathname.new($test_path)
36
+ segments = p.segments
37
+ RubyProf.pause
38
+ end
39
+
40
+ puts "\nFSSM Pathname profile finished\n\n"
41
+
42
+ result = RubyProf.stop
43
+ output = File.new('prof-fssm-pathname.html', 'w+')
44
+
45
+ printer = RubyProf::GraphHtmlPrinter.new(result)
46
+ printer.print(output, :min_percent => 1)
47
+
48
+
49
+ RubyProf.start
50
+ RubyProf.pause
51
+
52
+ $iterations.times do |num|
53
+ iteration = "%-6d" % (num + 1)
54
+ puts "::Pathname iteration #{iteration}"
55
+
56
+ RubyProf.resume
57
+ p = ::Pathname.new($test_path)
58
+ segments = p.segments
59
+ RubyProf.pause
60
+ end
61
+
62
+ puts "\nruby Pathname profile finished\n\n"
63
+
64
+ result = RubyProf.stop
65
+ output = File.new('prof-plain-pathname.html', 'w+')
66
+
67
+ printer = RubyProf::GraphHtmlPrinter.new(result)
68
+ printer.print(output, :min_percent => 1)
@@ -0,0 +1,909 @@
1
+
2
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3
+ <html>
4
+ <head>
5
+ <style media="all" type="text/css">
6
+ table {
7
+ border-collapse: collapse;
8
+ border: 1px solid #CCC;
9
+ font-family: Verdana, Arial, Helvetica, sans-serif;
10
+ font-size: 9pt;
11
+ line-height: normal;
12
+ }
13
+
14
+ th {
15
+ text-align: center;
16
+ border-top: 1px solid #FB7A31;
17
+ border-bottom: 1px solid #FB7A31;
18
+ background: #FFC;
19
+ padding: 0.3em;
20
+ border-left: 1px solid silver;
21
+ }
22
+
23
+ tr.break td {
24
+ border: 0;
25
+ border-top: 1px solid #FB7A31;
26
+ padding: 0;
27
+ margin: 0;
28
+ }
29
+
30
+ tr.method td {
31
+ font-weight: bold;
32
+ }
33
+
34
+ td {
35
+ padding: 0.3em;
36
+ }
37
+
38
+ td:first-child {
39
+ width: 190px;
40
+ }
41
+
42
+ td {
43
+ border-left: 1px solid #CCC;
44
+ text-align: center;
45
+ }
46
+
47
+ .method_name {
48
+ text-align: left;
49
+ max-width: 25em;
50
+ }
51
+ </style>
52
+ </head>
53
+ <body>
54
+ <h1>Profile Report</h1>
55
+ <!-- Threads Table -->
56
+ <table>
57
+ <tr>
58
+ <th>Thread ID</th>
59
+ <th>Total Time</th>
60
+ </tr>
61
+
62
+ <tr>
63
+ <td><a href="#3696392">3696392</a></td>
64
+ <td>27.97608</td>
65
+ </tr>
66
+
67
+ </table>
68
+
69
+ <!-- Methods Tables -->
70
+
71
+ <h2><a name="3696392">Thread 3696392</a></h2>
72
+
73
+ <table>
74
+ <tr>
75
+ <th> %Total</th>
76
+ <th> %Self</th>
77
+ <th> Total</th>
78
+ <th> Self</th>
79
+ <th> Wait</th>
80
+ <th> Child</th>
81
+ <th> Calls</th>
82
+ <th class="method_name">Name</th>
83
+ <th>Line</th>
84
+ </tr>
85
+
86
+
87
+
88
+ <!-- Parents -->
89
+
90
+
91
+ <tr class="method">
92
+ <td> 100.00%</td>
93
+ <td> 0.00%</td>
94
+ <td> 27.98</td>
95
+ <td> 0.00</td>
96
+ <td> 0.00</td>
97
+ <td> 27.98</td>
98
+ <td> 0</td>
99
+ <td class="method_name"><a name="Global_[No method]_3696392">Global#[No method]</a></td>
100
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=50" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:50">50</a></td>
101
+ </tr>
102
+
103
+ <!-- Children -->
104
+
105
+
106
+ <tr>
107
+ <td>&nbsp;</td>
108
+ <td>&nbsp;</td>
109
+ <td> 5.33</td>
110
+ <td> 0.61</td>
111
+ <td> 0.00</td>
112
+ <td> 4.73</td>
113
+
114
+ <td> 90000/90000</td>
115
+ <td class="method_name"><a href="#Class_new_3696392">Class#new</a></td>
116
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=57" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:57">57</a></td>
117
+ </tr>
118
+
119
+
120
+ <tr>
121
+ <td>&nbsp;</td>
122
+ <td>&nbsp;</td>
123
+ <td> 22.64</td>
124
+ <td> 1.34</td>
125
+ <td> 0.00</td>
126
+ <td> 21.30</td>
127
+
128
+ <td> 90000/90000</td>
129
+ <td class="method_name"><a href="#Pathname_segments_3696392">Pathname#segments</a></td>
130
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=58" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:58">58</a></td>
131
+ </tr>
132
+
133
+ <!-- Create divider row -->
134
+ <tr class="break"><td colspan="9"></td></tr>
135
+
136
+
137
+ <!-- Parents -->
138
+
139
+
140
+ <tr>
141
+ <td>&nbsp;</td>
142
+ <td>&nbsp;</td>
143
+ <td> 22.64</td>
144
+ <td> 1.34</td>
145
+ <td> 0.00</td>
146
+ <td> 21.30</td>
147
+
148
+ <td> 90000/90000</td>
149
+ <td class="method_name"><a href="#Global_[No method]_3696392">Global#[No method]</a></td>
150
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=58" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:58">58</a></td>
151
+ </tr>
152
+
153
+
154
+ <tr class="method">
155
+ <td> 80.93%</td>
156
+ <td> 4.80%</td>
157
+ <td> 22.64</td>
158
+ <td> 1.34</td>
159
+ <td> 0.00</td>
160
+ <td> 21.30</td>
161
+ <td> 90000</td>
162
+ <td class="method_name"><a name="Pathname_segments_3696392">Pathname#segments</a></td>
163
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=15" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:15">15</a></td>
164
+ </tr>
165
+
166
+ <!-- Children -->
167
+
168
+
169
+ <tr>
170
+ <td>&nbsp;</td>
171
+ <td>&nbsp;</td>
172
+ <td> 20.96</td>
173
+ <td> 3.23</td>
174
+ <td> 0.00</td>
175
+ <td> 17.73</td>
176
+
177
+ <td> 90000/90000</td>
178
+ <td class="method_name"><a href="#Pathname_split_names_3696392">Pathname#split_names</a></td>
179
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=16" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:16">16</a></td>
180
+ </tr>
181
+
182
+
183
+ <tr>
184
+ <td>&nbsp;</td>
185
+ <td>&nbsp;</td>
186
+ <td> 0.16</td>
187
+ <td> 0.16</td>
188
+ <td> 0.00</td>
189
+ <td> 0.00</td>
190
+
191
+ <td> 90000/90000</td>
192
+ <td class="method_name">String#empty?</td>
193
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=17" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:17">17</a></td>
194
+ </tr>
195
+
196
+
197
+ <tr>
198
+ <td>&nbsp;</td>
199
+ <td>&nbsp;</td>
200
+ <td> 0.18</td>
201
+ <td> 0.18</td>
202
+ <td> 0.00</td>
203
+ <td> 0.00</td>
204
+
205
+ <td> 90000/450000</td>
206
+ <td class="method_name"><a href="#Array_unshift_3696392">Array#unshift</a></td>
207
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=17" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:17">17</a></td>
208
+ </tr>
209
+
210
+ <!-- Create divider row -->
211
+ <tr class="break"><td colspan="9"></td></tr>
212
+
213
+
214
+ <!-- Parents -->
215
+
216
+
217
+ <tr>
218
+ <td>&nbsp;</td>
219
+ <td>&nbsp;</td>
220
+ <td> 20.96</td>
221
+ <td> 3.23</td>
222
+ <td> 0.00</td>
223
+ <td> 17.73</td>
224
+
225
+ <td> 90000/90000</td>
226
+ <td class="method_name"><a href="#Pathname_segments_3696392">Pathname#segments</a></td>
227
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=16" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:16">16</a></td>
228
+ </tr>
229
+
230
+
231
+ <tr class="method">
232
+ <td> 74.94%</td>
233
+ <td> 11.56%</td>
234
+ <td> 20.96</td>
235
+ <td> 3.23</td>
236
+ <td> 0.00</td>
237
+ <td> 17.73</td>
238
+ <td> 90000</td>
239
+ <td class="method_name"><a name="Pathname_split_names_3696392">Pathname#split_names</a></td>
240
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=307" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:307">307</a></td>
241
+ </tr>
242
+
243
+ <!-- Children -->
244
+
245
+
246
+ <tr>
247
+ <td>&nbsp;</td>
248
+ <td>&nbsp;</td>
249
+ <td> 17.00</td>
250
+ <td> 10.58</td>
251
+ <td> 0.00</td>
252
+ <td> 6.42</td>
253
+
254
+ <td> 450000/450000</td>
255
+ <td class="method_name"><a href="#Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
256
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=311" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:311">311</a></td>
257
+ </tr>
258
+
259
+
260
+ <tr>
261
+ <td>&nbsp;</td>
262
+ <td>&nbsp;</td>
263
+ <td> 0.73</td>
264
+ <td> 0.73</td>
265
+ <td> 0.00</td>
266
+ <td> 0.00</td>
267
+
268
+ <td> 360000/450000</td>
269
+ <td class="method_name"><a href="#Array_unshift_3696392">Array#unshift</a></td>
270
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=311" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:311">311</a></td>
271
+ </tr>
272
+
273
+ <!-- Create divider row -->
274
+ <tr class="break"><td colspan="9"></td></tr>
275
+
276
+
277
+ <!-- Parents -->
278
+
279
+
280
+ <tr>
281
+ <td>&nbsp;</td>
282
+ <td>&nbsp;</td>
283
+ <td> 17.00</td>
284
+ <td> 10.58</td>
285
+ <td> 0.00</td>
286
+ <td> 6.42</td>
287
+
288
+ <td> 450000/450000</td>
289
+ <td class="method_name"><a href="#Pathname_split_names_3696392">Pathname#split_names</a></td>
290
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=311" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:311">311</a></td>
291
+ </tr>
292
+
293
+
294
+ <tr class="method">
295
+ <td> 60.76%</td>
296
+ <td> 37.83%</td>
297
+ <td> 17.00</td>
298
+ <td> 10.58</td>
299
+ <td> 0.00</td>
300
+ <td> 6.42</td>
301
+ <td> 450000</td>
302
+ <td class="method_name"><a name="Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
303
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=296" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:296">296</a></td>
304
+ </tr>
305
+
306
+ <!-- Children -->
307
+
308
+
309
+ <tr>
310
+ <td>&nbsp;</td>
311
+ <td>&nbsp;</td>
312
+ <td> 1.38</td>
313
+ <td> 1.38</td>
314
+ <td> 0.00</td>
315
+ <td> 0.00</td>
316
+
317
+ <td> 450000/450000</td>
318
+ <td class="method_name"><a href="#_Class__File__basename_3696392">&lt;Class::File&gt;#basename</a></td>
319
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=297" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:297">297</a></td>
320
+ </tr>
321
+
322
+
323
+ <tr>
324
+ <td>&nbsp;</td>
325
+ <td>&nbsp;</td>
326
+ <td> 1.37</td>
327
+ <td> 1.37</td>
328
+ <td> 0.00</td>
329
+ <td> 0.00</td>
330
+
331
+ <td> 450000/450000</td>
332
+ <td class="method_name"><a href="#Regexp_to_s_3696392">Regexp#to_s</a></td>
333
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
334
+ </tr>
335
+
336
+
337
+ <tr>
338
+ <td>&nbsp;</td>
339
+ <td>&nbsp;</td>
340
+ <td> 1.95</td>
341
+ <td> 1.95</td>
342
+ <td> 0.00</td>
343
+ <td> 0.00</td>
344
+
345
+ <td> 450000/450000</td>
346
+ <td class="method_name"><a href="#Regexp__~_3696392">Regexp#=~</a></td>
347
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
348
+ </tr>
349
+
350
+
351
+ <tr>
352
+ <td>&nbsp;</td>
353
+ <td>&nbsp;</td>
354
+ <td> 0.80</td>
355
+ <td> 0.80</td>
356
+ <td> 0.00</td>
357
+ <td> 0.00</td>
358
+
359
+ <td> 360000/360000</td>
360
+ <td class="method_name"><a href="#String_rindex_3696392">String#rindex</a></td>
361
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
362
+ </tr>
363
+
364
+
365
+ <tr>
366
+ <td>&nbsp;</td>
367
+ <td>&nbsp;</td>
368
+ <td> 0.91</td>
369
+ <td> 0.91</td>
370
+ <td> 0.00</td>
371
+ <td> 0.00</td>
372
+
373
+ <td> 360000/360000</td>
374
+ <td class="method_name"><a href="#String_[]_3696392">String#[]</a></td>
375
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
376
+ </tr>
377
+
378
+ <!-- Create divider row -->
379
+ <tr class="break"><td colspan="9"></td></tr>
380
+
381
+
382
+ <!-- Parents -->
383
+
384
+
385
+ <tr>
386
+ <td>&nbsp;</td>
387
+ <td>&nbsp;</td>
388
+ <td> 5.33</td>
389
+ <td> 0.61</td>
390
+ <td> 0.00</td>
391
+ <td> 4.73</td>
392
+
393
+ <td> 90000/90000</td>
394
+ <td class="method_name"><a href="#Global_[No method]_3696392">Global#[No method]</a></td>
395
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=57" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:57">57</a></td>
396
+ </tr>
397
+
398
+
399
+ <tr class="method">
400
+ <td> 19.07%</td>
401
+ <td> 2.18%</td>
402
+ <td> 5.33</td>
403
+ <td> 0.61</td>
404
+ <td> 0.00</td>
405
+ <td> 4.73</td>
406
+ <td> 90000</td>
407
+ <td class="method_name"><a name="Class_new_3696392">Class#new</a></td>
408
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
409
+ </tr>
410
+
411
+ <!-- Children -->
412
+
413
+
414
+ <tr>
415
+ <td>&nbsp;</td>
416
+ <td>&nbsp;</td>
417
+ <td> 0.25</td>
418
+ <td> 0.25</td>
419
+ <td> 0.00</td>
420
+ <td> 0.00</td>
421
+
422
+ <td> 90000/90000</td>
423
+ <td class="method_name">&lt;Class::BasicObject&gt;#allocate</td>
424
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=57" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:57">57</a></td>
425
+ </tr>
426
+
427
+
428
+ <tr>
429
+ <td>&nbsp;</td>
430
+ <td>&nbsp;</td>
431
+ <td> 4.47</td>
432
+ <td> 1.87</td>
433
+ <td> 0.00</td>
434
+ <td> 2.60</td>
435
+
436
+ <td> 90000/90000</td>
437
+ <td class="method_name"><a href="#Pathname_initialize_3696392">Pathname#initialize</a></td>
438
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=57" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:57">57</a></td>
439
+ </tr>
440
+
441
+ <!-- Create divider row -->
442
+ <tr class="break"><td colspan="9"></td></tr>
443
+
444
+
445
+ <!-- Parents -->
446
+
447
+
448
+ <tr>
449
+ <td>&nbsp;</td>
450
+ <td>&nbsp;</td>
451
+ <td> 4.47</td>
452
+ <td> 1.87</td>
453
+ <td> 0.00</td>
454
+ <td> 2.60</td>
455
+
456
+ <td> 90000/90000</td>
457
+ <td class="method_name"><a href="#Class_new_3696392">Class#new</a></td>
458
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=57" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:57">57</a></td>
459
+ </tr>
460
+
461
+
462
+ <tr class="method">
463
+ <td> 15.98%</td>
464
+ <td> 6.70%</td>
465
+ <td> 4.47</td>
466
+ <td> 1.87</td>
467
+ <td> 0.00</td>
468
+ <td> 2.60</td>
469
+ <td> 90000</td>
470
+ <td class="method_name"><a name="Pathname_initialize_3696392">Pathname#initialize</a></td>
471
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=210" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:210">210</a></td>
472
+ </tr>
473
+
474
+ <!-- Children -->
475
+
476
+
477
+ <tr>
478
+ <td>&nbsp;</td>
479
+ <td>&nbsp;</td>
480
+ <td> 0.20</td>
481
+ <td> 0.20</td>
482
+ <td> 0.00</td>
483
+ <td> 0.00</td>
484
+
485
+ <td> 90000/90000</td>
486
+ <td class="method_name">Kernel#respond_to?</td>
487
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=211" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:211">211</a></td>
488
+ </tr>
489
+
490
+
491
+ <tr>
492
+ <td>&nbsp;</td>
493
+ <td>&nbsp;</td>
494
+ <td> 0.97</td>
495
+ <td> 0.58</td>
496
+ <td> 0.00</td>
497
+ <td> 0.39</td>
498
+
499
+ <td> 90000/90000</td>
500
+ <td class="method_name"><a href="#Kernel_dup_3696392">Kernel#dup</a></td>
501
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=212" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:212">212</a></td>
502
+ </tr>
503
+
504
+
505
+ <tr>
506
+ <td>&nbsp;</td>
507
+ <td>&nbsp;</td>
508
+ <td> 0.16</td>
509
+ <td> 0.16</td>
510
+ <td> 0.00</td>
511
+ <td> 0.00</td>
512
+
513
+ <td> 90000/90000</td>
514
+ <td class="method_name">Kernel#tainted?</td>
515
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=218" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:218">218</a></td>
516
+ </tr>
517
+
518
+
519
+ <tr>
520
+ <td>&nbsp;</td>
521
+ <td>&nbsp;</td>
522
+ <td> 1.27</td>
523
+ <td> 0.94</td>
524
+ <td> 0.00</td>
525
+ <td> 0.33</td>
526
+
527
+ <td> 90000/90000</td>
528
+ <td class="method_name"><a href="#Pathname_taint_3696392">Pathname#taint</a></td>
529
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=218" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:218">218</a></td>
530
+ </tr>
531
+
532
+ <!-- Create divider row -->
533
+ <tr class="break"><td colspan="9"></td></tr>
534
+
535
+
536
+ <!-- Parents -->
537
+
538
+
539
+ <tr>
540
+ <td>&nbsp;</td>
541
+ <td>&nbsp;</td>
542
+ <td> 1.95</td>
543
+ <td> 1.95</td>
544
+ <td> 0.00</td>
545
+ <td> 0.00</td>
546
+
547
+ <td> 450000/450000</td>
548
+ <td class="method_name"><a href="#Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
549
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
550
+ </tr>
551
+
552
+
553
+ <tr class="method">
554
+ <td> 6.97%</td>
555
+ <td> 6.97%</td>
556
+ <td> 1.95</td>
557
+ <td> 1.95</td>
558
+ <td> 0.00</td>
559
+ <td> 0.00</td>
560
+ <td> 450000</td>
561
+ <td class="method_name"><a name="Regexp__~_3696392">Regexp#=~</a></td>
562
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
563
+ </tr>
564
+
565
+ <!-- Children -->
566
+
567
+ <!-- Create divider row -->
568
+ <tr class="break"><td colspan="9"></td></tr>
569
+
570
+
571
+ <!-- Parents -->
572
+
573
+
574
+ <tr>
575
+ <td>&nbsp;</td>
576
+ <td>&nbsp;</td>
577
+ <td> 1.38</td>
578
+ <td> 1.38</td>
579
+ <td> 0.00</td>
580
+ <td> 0.00</td>
581
+
582
+ <td> 450000/450000</td>
583
+ <td class="method_name"><a href="#Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
584
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=297" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:297">297</a></td>
585
+ </tr>
586
+
587
+
588
+ <tr class="method">
589
+ <td> 4.94%</td>
590
+ <td> 4.94%</td>
591
+ <td> 1.38</td>
592
+ <td> 1.38</td>
593
+ <td> 0.00</td>
594
+ <td> 0.00</td>
595
+ <td> 450000</td>
596
+ <td class="method_name"><a name="_Class__File__basename_3696392">&lt;Class::File&gt;#basename</a></td>
597
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
598
+ </tr>
599
+
600
+ <!-- Children -->
601
+
602
+ <!-- Create divider row -->
603
+ <tr class="break"><td colspan="9"></td></tr>
604
+
605
+
606
+ <!-- Parents -->
607
+
608
+
609
+ <tr>
610
+ <td>&nbsp;</td>
611
+ <td>&nbsp;</td>
612
+ <td> 1.37</td>
613
+ <td> 1.37</td>
614
+ <td> 0.00</td>
615
+ <td> 0.00</td>
616
+
617
+ <td> 450000/450000</td>
618
+ <td class="method_name"><a href="#Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
619
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
620
+ </tr>
621
+
622
+
623
+ <tr class="method">
624
+ <td> 4.88%</td>
625
+ <td> 4.88%</td>
626
+ <td> 1.37</td>
627
+ <td> 1.37</td>
628
+ <td> 0.00</td>
629
+ <td> 0.00</td>
630
+ <td> 450000</td>
631
+ <td class="method_name"><a name="Regexp_to_s_3696392">Regexp#to_s</a></td>
632
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
633
+ </tr>
634
+
635
+ <!-- Children -->
636
+
637
+ <!-- Create divider row -->
638
+ <tr class="break"><td colspan="9"></td></tr>
639
+
640
+
641
+ <!-- Parents -->
642
+
643
+
644
+ <tr>
645
+ <td>&nbsp;</td>
646
+ <td>&nbsp;</td>
647
+ <td> 1.27</td>
648
+ <td> 0.94</td>
649
+ <td> 0.00</td>
650
+ <td> 0.33</td>
651
+
652
+ <td> 90000/90000</td>
653
+ <td class="method_name"><a href="#Pathname_initialize_3696392">Pathname#initialize</a></td>
654
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=218" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:218">218</a></td>
655
+ </tr>
656
+
657
+
658
+ <tr class="method">
659
+ <td> 4.54%</td>
660
+ <td> 3.36%</td>
661
+ <td> 1.27</td>
662
+ <td> 0.94</td>
663
+ <td> 0.00</td>
664
+ <td> 0.33</td>
665
+ <td> 90000</td>
666
+ <td class="method_name"><a name="Pathname_taint_3696392">Pathname#taint</a></td>
667
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=222" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:222">222</a></td>
668
+ </tr>
669
+
670
+ <!-- Children -->
671
+
672
+
673
+ <tr>
674
+ <td>&nbsp;</td>
675
+ <td>&nbsp;</td>
676
+ <td> 0.33</td>
677
+ <td> 0.33</td>
678
+ <td> 0.00</td>
679
+ <td> 0.00</td>
680
+
681
+ <td> 180000/180000</td>
682
+ <td class="method_name"><a href="#Kernel_taint_3696392">Kernel#taint</a></td>
683
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=222" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:222">222</a></td>
684
+ </tr>
685
+
686
+ <!-- Create divider row -->
687
+ <tr class="break"><td colspan="9"></td></tr>
688
+
689
+
690
+ <!-- Parents -->
691
+
692
+
693
+ <tr>
694
+ <td>&nbsp;</td>
695
+ <td>&nbsp;</td>
696
+ <td> 0.97</td>
697
+ <td> 0.58</td>
698
+ <td> 0.00</td>
699
+ <td> 0.39</td>
700
+
701
+ <td> 90000/90000</td>
702
+ <td class="method_name"><a href="#Pathname_initialize_3696392">Pathname#initialize</a></td>
703
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=212" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:212">212</a></td>
704
+ </tr>
705
+
706
+
707
+ <tr class="method">
708
+ <td> 3.46%</td>
709
+ <td> 2.07%</td>
710
+ <td> 0.97</td>
711
+ <td> 0.58</td>
712
+ <td> 0.00</td>
713
+ <td> 0.39</td>
714
+ <td> 90000</td>
715
+ <td class="method_name"><a name="Kernel_dup_3696392">Kernel#dup</a></td>
716
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
717
+ </tr>
718
+
719
+ <!-- Children -->
720
+
721
+
722
+ <tr>
723
+ <td>&nbsp;</td>
724
+ <td>&nbsp;</td>
725
+ <td> 0.21</td>
726
+ <td> 0.21</td>
727
+ <td> 0.00</td>
728
+ <td> 0.00</td>
729
+
730
+ <td> 90000/90000</td>
731
+ <td class="method_name">&lt;Class::String&gt;#allocate</td>
732
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=212" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:212">212</a></td>
733
+ </tr>
734
+
735
+
736
+ <tr>
737
+ <td>&nbsp;</td>
738
+ <td>&nbsp;</td>
739
+ <td> 0.18</td>
740
+ <td> 0.18</td>
741
+ <td> 0.00</td>
742
+ <td> 0.00</td>
743
+
744
+ <td> 90000/90000</td>
745
+ <td class="method_name">String#initialize_copy</td>
746
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=212" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:212">212</a></td>
747
+ </tr>
748
+
749
+ <!-- Create divider row -->
750
+ <tr class="break"><td colspan="9"></td></tr>
751
+
752
+
753
+ <!-- Parents -->
754
+
755
+
756
+ <tr>
757
+ <td>&nbsp;</td>
758
+ <td>&nbsp;</td>
759
+ <td> 0.91</td>
760
+ <td> 0.91</td>
761
+ <td> 0.00</td>
762
+ <td> 0.00</td>
763
+
764
+ <td> 360000/360000</td>
765
+ <td class="method_name"><a href="#Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
766
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
767
+ </tr>
768
+
769
+
770
+ <tr class="method">
771
+ <td> 3.26%</td>
772
+ <td> 3.26%</td>
773
+ <td> 0.91</td>
774
+ <td> 0.91</td>
775
+ <td> 0.00</td>
776
+ <td> 0.00</td>
777
+ <td> 360000</td>
778
+ <td class="method_name"><a name="String_[]_3696392">String#[]</a></td>
779
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
780
+ </tr>
781
+
782
+ <!-- Children -->
783
+
784
+ <!-- Create divider row -->
785
+ <tr class="break"><td colspan="9"></td></tr>
786
+
787
+
788
+ <!-- Parents -->
789
+
790
+
791
+ <tr>
792
+ <td>&nbsp;</td>
793
+ <td>&nbsp;</td>
794
+ <td> 0.73</td>
795
+ <td> 0.73</td>
796
+ <td> 0.00</td>
797
+ <td> 0.00</td>
798
+
799
+ <td> 360000/450000</td>
800
+ <td class="method_name"><a href="#Pathname_split_names_3696392">Pathname#split_names</a></td>
801
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=311" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:311">311</a></td>
802
+ </tr>
803
+
804
+
805
+ <tr>
806
+ <td>&nbsp;</td>
807
+ <td>&nbsp;</td>
808
+ <td> 0.18</td>
809
+ <td> 0.18</td>
810
+ <td> 0.00</td>
811
+ <td> 0.00</td>
812
+
813
+ <td> 90000/450000</td>
814
+ <td class="method_name"><a href="#Pathname_segments_3696392">Pathname#segments</a></td>
815
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/prof-pathname.rb#line=17" title="/Users/ttilley/tmp/fssm/profile/prof-pathname.rb:17">17</a></td>
816
+ </tr>
817
+
818
+
819
+ <tr class="method">
820
+ <td> 3.24%</td>
821
+ <td> 3.24%</td>
822
+ <td> 0.91</td>
823
+ <td> 0.91</td>
824
+ <td> 0.00</td>
825
+ <td> 0.00</td>
826
+ <td> 450000</td>
827
+ <td class="method_name"><a name="Array_unshift_3696392">Array#unshift</a></td>
828
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
829
+ </tr>
830
+
831
+ <!-- Children -->
832
+
833
+ <!-- Create divider row -->
834
+ <tr class="break"><td colspan="9"></td></tr>
835
+
836
+
837
+ <!-- Parents -->
838
+
839
+
840
+ <tr>
841
+ <td>&nbsp;</td>
842
+ <td>&nbsp;</td>
843
+ <td> 0.80</td>
844
+ <td> 0.80</td>
845
+ <td> 0.00</td>
846
+ <td> 0.00</td>
847
+
848
+ <td> 360000/360000</td>
849
+ <td class="method_name"><a href="#Pathname_chop_basename_3696392">Pathname#chop_basename</a></td>
850
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=298" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:298">298</a></td>
851
+ </tr>
852
+
853
+
854
+ <tr class="method">
855
+ <td> 2.88%</td>
856
+ <td> 2.88%</td>
857
+ <td> 0.80</td>
858
+ <td> 0.80</td>
859
+ <td> 0.00</td>
860
+ <td> 0.00</td>
861
+ <td> 360000</td>
862
+ <td class="method_name"><a name="String_rindex_3696392">String#rindex</a></td>
863
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
864
+ </tr>
865
+
866
+ <!-- Children -->
867
+
868
+ <!-- Create divider row -->
869
+ <tr class="break"><td colspan="9"></td></tr>
870
+
871
+
872
+ <!-- Parents -->
873
+
874
+
875
+ <tr>
876
+ <td>&nbsp;</td>
877
+ <td>&nbsp;</td>
878
+ <td> 0.33</td>
879
+ <td> 0.33</td>
880
+ <td> 0.00</td>
881
+ <td> 0.00</td>
882
+
883
+ <td> 180000/180000</td>
884
+ <td class="method_name"><a href="#Pathname_taint_3696392">Pathname#taint</a></td>
885
+ <td><a href="file:///Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb#line=222" title="/Users/ttilley/.rvm/ruby-1.9.1-p243/lib/ruby/1.9.1/pathname.rb:222">222</a></td>
886
+ </tr>
887
+
888
+
889
+ <tr class="method">
890
+ <td> 1.17%</td>
891
+ <td> 1.17%</td>
892
+ <td> 0.33</td>
893
+ <td> 0.33</td>
894
+ <td> 0.00</td>
895
+ <td> 0.00</td>
896
+ <td> 180000</td>
897
+ <td class="method_name"><a name="Kernel_taint_3696392">Kernel#taint</a></td>
898
+ <td><a href="file:///Users/ttilley/tmp/fssm/profile/ruby_runtime#line=0" title="/Users/ttilley/tmp/fssm/profile/ruby_runtime:0">0</a></td>
899
+ </tr>
900
+
901
+ <!-- Children -->
902
+
903
+ <!-- Create divider row -->
904
+ <tr class="break"><td colspan="9"></td></tr>
905
+
906
+ </table>
907
+
908
+ </body>
909
+ </html>