ruby-prof 1.4.2 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +29 -0
  3. data/README.md +5 -0
  4. data/Rakefile +3 -3
  5. data/ext/ruby_prof/extconf.rb +11 -5
  6. data/ext/ruby_prof/rp_allocation.c +1 -1
  7. data/ext/ruby_prof/rp_call_tree.c +0 -2
  8. data/ext/ruby_prof/rp_call_tree.h +1 -1
  9. data/ext/ruby_prof/rp_measure_allocations.c +10 -13
  10. data/ext/ruby_prof/rp_measure_memory.c +8 -4
  11. data/ext/ruby_prof/rp_measure_process_time.c +7 -6
  12. data/ext/ruby_prof/rp_measurement.c +2 -2
  13. data/ext/ruby_prof/rp_measurement.h +1 -1
  14. data/ext/ruby_prof/rp_method.c +2 -2
  15. data/ext/ruby_prof/rp_method.h +19 -19
  16. data/ext/ruby_prof/rp_profile.c +24 -17
  17. data/ext/ruby_prof/rp_stack.c +1 -1
  18. data/ext/ruby_prof/rp_thread.c +2 -2
  19. data/ext/ruby_prof/vc/ruby_prof.vcxproj +9 -7
  20. data/lib/ruby-prof/assets/call_stack_printer.html.erb +2 -1
  21. data/lib/ruby-prof/printers/abstract_printer.rb +1 -1
  22. data/lib/ruby-prof/printers/call_tree_printer.rb +3 -7
  23. data/lib/ruby-prof/printers/graph_html_printer.rb +1 -1
  24. data/lib/ruby-prof/version.rb +1 -1
  25. data/lib/ruby-prof.rb +1 -1
  26. data/ruby-prof.gemspec +2 -3
  27. data/test/alias_test.rb +97 -101
  28. data/test/duplicate_names_test.rb +4 -4
  29. data/test/dynamic_method_test.rb +23 -9
  30. data/test/gc_test.rb +12 -2
  31. data/test/marshal_test.rb +37 -5
  32. data/test/measure_allocations.rb +1 -5
  33. data/test/measure_allocations_test.rb +27 -69
  34. data/test/{measure_memory_trace_test.rb → measure_memory_test.rb} +57 -470
  35. data/test/measure_process_time_test.rb +1564 -735
  36. data/test/measure_wall_time_test.rb +6 -15
  37. data/test/printer_call_tree_test.rb +2 -2
  38. data/test/printer_flat_test.rb +1 -1
  39. data/test/printers_test.rb +2 -2
  40. data/test/recursive_test.rb +372 -148
  41. data/test/start_stop_test.rb +4 -4
  42. data/test/test_helper.rb +5 -5
  43. data/test/unique_call_path_test.rb +24 -8
  44. data/test/yarv_test.rb +8 -4
  45. metadata +10 -25
  46. data/README.rdoc +0 -5
  47. data/test/measure_allocations_trace_test.rb +0 -375
@@ -4,7 +4,7 @@
4
4
  require File.expand_path('../test_helper', __FILE__)
5
5
  require_relative './measure_allocations'
6
6
 
7
- class MeasureMemoryTraceTest < TestCase
7
+ class MeasureMemoryTest < TestCase
8
8
  def setup
9
9
  RubyProf::measure_mode = RubyProf::MEMORY
10
10
  end
@@ -14,7 +14,7 @@ class MeasureMemoryTraceTest < TestCase
14
14
  assert_equal(RubyProf::MEMORY, RubyProf::measure_mode)
15
15
  end
16
16
 
17
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6')
17
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0')
18
18
  def test_memory
19
19
  result = RubyProf.profile do
20
20
  allocator = Allocator.new
@@ -22,21 +22,21 @@ class MeasureMemoryTraceTest < TestCase
22
22
  end
23
23
 
24
24
  thread = result.threads.first
25
- assert_in_delta(800, thread.total_time, 1)
26
25
 
26
+ assert_in_delta(800, thread.total_time, 1)
27
27
  methods = result.threads.first.methods.sort.reverse
28
- assert_equal(13, methods.length)
28
+ assert_equal(12, methods.length)
29
29
 
30
30
  # Method 0
31
31
  method = methods[0]
32
- assert_equal('MeasureMemoryTraceTest#test_memory', method.full_name)
32
+ assert_equal('MeasureMemoryTest#test_memory', method.full_name)
33
33
  assert_in_delta(800, method.total_time, 1)
34
+
34
35
  assert_equal(0.0, method.wait_time)
35
36
  assert_equal(0.0, method.self_time)
36
37
  assert_in_delta(800, method.children_time, 1)
37
-
38
38
  assert_equal(0, method.call_trees.callers.length)
39
-
39
+
40
40
  assert_equal(2, method.call_trees.callees.length)
41
41
  call_tree = method.call_trees.callees[0]
42
42
  assert_equal('Class#new', call_tree.target.full_name)
@@ -62,31 +62,7 @@ class MeasureMemoryTraceTest < TestCase
62
62
 
63
63
  assert_equal(1, method.call_trees.callers.length)
64
64
  call_tree = method.call_trees.callers[0]
65
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
66
- assert_equal(760.0, call_tree.total_time)
67
- assert_equal(0.0, call_tree.wait_time)
68
- assert_equal(0.0, call_tree.self_time)
69
- assert_equal(760.0, call_tree.children_time)
70
-
71
- assert_equal(1, method.call_trees.callees.length)
72
- call_tree = method.call_trees.callees[0]
73
- assert_equal('Allocator#internal_run', call_tree.target.full_name)
74
- assert_equal(760.0, call_tree.total_time)
75
- assert_equal(0.0, call_tree.wait_time)
76
- assert_equal(0.0, call_tree.self_time)
77
- assert_equal(760.0, call_tree.children_time)
78
-
79
- # Method 2
80
- method = methods[2]
81
- assert_equal('Allocator#internal_run', method.full_name)
82
- assert_equal(760.0, method.total_time)
83
- assert_equal(0.0, method.wait_time)
84
- assert_equal(0.0, method.self_time)
85
- assert_equal(760.0, method.children_time)
86
-
87
- assert_equal(1, method.call_trees.callers.length)
88
- call_tree = method.call_trees.callers[0]
89
- assert_equal('Allocator#run', call_tree.parent.target.full_name)
65
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
90
66
  assert_equal(760.0, call_tree.total_time)
91
67
  assert_equal(0.0, call_tree.wait_time)
92
68
  assert_equal(0.0, call_tree.self_time)
@@ -114,8 +90,8 @@ class MeasureMemoryTraceTest < TestCase
114
90
  assert_equal(40, call_tree.self_time)
115
91
  assert_equal(120.0, call_tree.children_time)
116
92
 
117
- # Method 3
118
- method = methods[3]
93
+ # Method 2
94
+ method = methods[2]
119
95
  assert_equal('Class#new', method.full_name)
120
96
  assert_equal(720.0, method.total_time)
121
97
  assert_equal(0.0, method.wait_time)
@@ -124,7 +100,7 @@ class MeasureMemoryTraceTest < TestCase
124
100
 
125
101
  assert_equal(4, method.call_trees.callers.length)
126
102
  call_tree = method.call_trees.callers[0]
127
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
103
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
128
104
  assert_equal(40.0, call_tree.total_time)
129
105
  assert_equal(0.0, call_tree.wait_time)
130
106
  assert_equal(40.0, call_tree.self_time)
@@ -180,8 +156,8 @@ class MeasureMemoryTraceTest < TestCase
180
156
  assert_equal(40.0, call_tree.self_time)
181
157
  assert_equal(0.0, call_tree.children_time)
182
158
 
183
- # Method 4
184
- method = methods[4]
159
+ # Method 3
160
+ method = methods[3]
185
161
  assert_equal('Allocator#make_arrays', method.full_name)
186
162
  assert_equal(400.0, method.total_time)
187
163
  assert_equal(0.0, method.wait_time)
@@ -190,7 +166,7 @@ class MeasureMemoryTraceTest < TestCase
190
166
 
191
167
  assert_equal(1, method.call_trees.callers.length)
192
168
  call_tree = method.call_trees.callers[0]
193
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
169
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
194
170
  assert_equal(400.0, call_tree.total_time)
195
171
  assert_equal(0.0, call_tree.wait_time)
196
172
  assert_equal(0.0, call_tree.self_time)
@@ -204,8 +180,8 @@ class MeasureMemoryTraceTest < TestCase
204
180
  assert_equal(0.0, call_tree.self_time)
205
181
  assert_equal(400.0, call_tree.children_time)
206
182
 
207
- # Method 5
208
- method = methods[5]
183
+ # Method 4
184
+ method = methods[4]
209
185
  assert_equal('Integer#times', method.full_name)
210
186
  assert_equal(400.0, method.total_time)
211
187
  assert_equal(0.0, method.wait_time)
@@ -228,8 +204,8 @@ class MeasureMemoryTraceTest < TestCase
228
204
  assert_equal(400.0, call_tree.self_time)
229
205
  assert_equal(0.0, call_tree.children_time)
230
206
 
231
- # Method 6
232
- method = methods[6]
207
+ # Method 5
208
+ method = methods[5]
233
209
  assert_equal('Allocator#make_hashes', method.full_name)
234
210
  assert_equal(200.0, method.total_time)
235
211
  assert_equal(0.0, method.wait_time)
@@ -238,7 +214,7 @@ class MeasureMemoryTraceTest < TestCase
238
214
 
239
215
  assert_equal(1, method.call_trees.callers.length)
240
216
  call_tree = method.call_trees.callers[0]
241
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
217
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
242
218
  assert_equal(200.0, call_tree.total_time)
243
219
  assert_equal(0.0, call_tree.wait_time)
244
220
  assert_equal(0.0, call_tree.self_time)
@@ -252,8 +228,8 @@ class MeasureMemoryTraceTest < TestCase
252
228
  assert_equal(200.0, call_tree.self_time)
253
229
  assert_equal(0.0, call_tree.children_time)
254
230
 
255
- # Method 7
256
- method = methods[7]
231
+ # Method 6
232
+ method = methods[6]
257
233
  assert_equal('Allocator#make_strings', method.full_name)
258
234
  assert_equal(160.0, method.total_time)
259
235
  assert_equal(0.0, method.wait_time)
@@ -262,7 +238,7 @@ class MeasureMemoryTraceTest < TestCase
262
238
 
263
239
  assert_equal(1, method.call_trees.callers.length)
264
240
  call_tree = method.call_trees.callers[0]
265
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
241
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
266
242
  assert_equal(160.0, call_tree.total_time)
267
243
  assert_equal(0.0, call_tree.wait_time)
268
244
  assert_equal(40.0, call_tree.self_time)
@@ -283,8 +259,8 @@ class MeasureMemoryTraceTest < TestCase
283
259
  assert_equal(40.0, call_tree.self_time)
284
260
  assert_equal(40.0, call_tree.children_time)
285
261
 
286
- # Method 8
287
- method = methods[8]
262
+ # Method 7
263
+ method = methods[7]
288
264
  assert_equal('String#*', method.full_name)
289
265
  assert_equal(40.0, method.total_time)
290
266
  assert_equal(0.0, method.wait_time)
@@ -301,8 +277,8 @@ class MeasureMemoryTraceTest < TestCase
301
277
 
302
278
  assert_equal(0.0, method.call_trees.callees.length)
303
279
 
304
- # Method 9
305
- method = methods[9]
280
+ # Method 8
281
+ method = methods[8]
306
282
  assert_equal('String#initialize', method.full_name)
307
283
  assert_equal(40.0, method.total_time)
308
284
  assert_equal(0.0, method.wait_time)
@@ -319,8 +295,8 @@ class MeasureMemoryTraceTest < TestCase
319
295
 
320
296
  assert_equal(0.0, method.call_trees.callees.length)
321
297
 
322
- # Method 10
323
- method = methods[10]
298
+ # Method 9
299
+ method = methods[9]
324
300
  assert_equal('BasicObject#initialize', method.full_name)
325
301
  assert_equal(0.0, method.total_time)
326
302
  assert_equal(0.0, method.wait_time)
@@ -337,356 +313,9 @@ class MeasureMemoryTraceTest < TestCase
337
313
 
338
314
  assert_equal(0.0, method.call_trees.callees.length)
339
315
 
340
- # Method 11
341
- method = methods[11]
342
- assert_equal('Hash#initialize', method.full_name)
343
- assert_equal(0.0, method.total_time)
344
- assert_equal(0.0, method.wait_time)
345
- assert_equal(0.0, method.self_time)
346
- assert_equal(0.0, method.children_time)
347
-
348
- assert_equal(1, method.call_trees.callers.length)
349
- call_tree = method.call_trees.callers[0]
350
- assert_equal('Class#new', call_tree.parent.target.full_name)
351
- assert_equal(0.0, call_tree.total_time)
352
- assert_equal(0.0, call_tree.wait_time)
353
- assert_equal(0.0, call_tree.self_time)
354
- assert_equal(0.0, call_tree.children_time)
355
-
356
- assert_equal(0.0, method.call_trees.callees.length)
357
-
358
- # Method 12
359
- method = methods[12]
360
- assert_equal('Array#initialize', method.full_name)
361
- assert_equal(0.0, method.total_time)
362
- assert_equal(0.0, method.wait_time)
363
- assert_equal(0.0, method.self_time)
364
- assert_equal(0.0, method.children_time)
365
-
366
- assert_equal(1, method.call_trees.callers.length)
367
- call_tree = method.call_trees.callers[0]
368
- assert_equal('Class#new', call_tree.parent.target.full_name)
369
- assert_equal(0.0, call_tree.total_time)
370
- assert_equal(0.0, call_tree.wait_time)
371
- assert_equal(0.0, call_tree.self_time)
372
- assert_equal(0.0, call_tree.children_time)
373
-
374
- assert_equal(0.0, method.call_trees.callees.length)
375
- end
376
- elsif Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7')
377
- def test_memory
378
- result = RubyProf.profile do
379
- allocator = Allocator.new
380
- allocator.run
381
- end
382
-
383
- thread = result.threads.first
384
-
385
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7.0')
386
- assert_in_delta(800, thread.total_time, 1)
387
- else
388
- assert_in_delta(1760, thread.total_time, 1)
389
- end
390
-
391
- methods = result.threads.first.methods.sort.reverse
392
- assert_equal(13, methods.length)
393
-
394
- # Method 0
395
- method = methods[0]
396
- assert_equal('MeasureMemoryTraceTest#test_memory', method.full_name)
397
- assert_in_delta(1760, method.total_time, 1)
398
-
399
- assert_equal(0.0, method.wait_time)
400
- assert_equal(0.0, method.self_time)
401
- assert_in_delta(1760, method.children_time, 1)
402
-
403
- assert_equal(0, method.call_trees.callers.length)
404
-
405
- assert_equal(2, method.call_trees.callees.length)
406
- call_tree = method.call_trees.callees[0]
407
- assert_equal('Class#new', call_tree.target.full_name)
408
- assert_equal(40.0, call_tree.total_time)
409
- assert_equal(0.0, call_tree.wait_time)
410
- assert_equal(40.0, call_tree.self_time)
411
- assert_equal(0.0, call_tree.children_time)
412
-
413
- call_tree = method.call_trees.callees[1]
414
- assert_equal('Allocator#run', call_tree.target.full_name)
415
- assert_equal(1720.0, call_tree.total_time)
416
- assert_equal(0.0, call_tree.wait_time)
417
- assert_equal(0.0, call_tree.self_time)
418
- assert_equal(1720.0, call_tree.children_time)
419
-
420
- # Method 1
421
- method = methods[1]
422
- assert_equal('Allocator#run',method.full_name)
423
- assert_equal(1720.0, method.total_time)
424
- assert_equal(0.0, method.wait_time)
425
- assert_equal(0.0, method.self_time)
426
- assert_equal(1720.0, method.children_time)
427
-
428
- assert_equal(1, method.call_trees.callers.length)
429
- call_tree = method.call_trees.callers[0]
430
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
431
- assert_equal(1720.0, call_tree.total_time)
432
- assert_equal(0.0, call_tree.wait_time)
433
- assert_equal(0.0, call_tree.self_time)
434
- assert_equal(1720.0, call_tree.children_time)
435
-
436
- assert_equal(1, method.call_trees.callees.length)
437
- call_tree = method.call_trees.callees[0]
438
- assert_equal('Allocator#internal_run', call_tree.target.full_name)
439
- assert_equal(1720.0, call_tree.total_time)
440
- assert_equal(0.0, call_tree.wait_time)
441
- assert_equal(0.0, call_tree.self_time)
442
- assert_equal(1720.0, call_tree.children_time)
443
-
444
- # Method 2
445
- method = methods[2]
446
- assert_equal('Allocator#internal_run', method.full_name)
447
- assert_equal(1720.0, method.total_time)
448
- assert_equal(0.0, method.wait_time)
449
- assert_equal(0.0, method.self_time)
450
- assert_equal(1720.0, method.children_time)
451
-
452
- assert_equal(1, method.call_trees.callers.length)
453
- call_tree = method.call_trees.callers[0]
454
- assert_equal('Allocator#run', call_tree.parent.target.full_name)
455
- assert_equal(1720.0, call_tree.total_time)
456
- assert_equal(0.0, call_tree.wait_time)
457
- assert_equal(0.0, call_tree.self_time)
458
- assert_equal(1720.0, call_tree.children_time)
459
-
460
- assert_equal(3, method.call_trees.callees.length)
461
- call_tree = method.call_trees.callees[0]
462
- assert_equal('Allocator#make_arrays', call_tree.target.full_name)
463
- assert_equal(400.0, call_tree.total_time)
464
- assert_equal(0.0, call_tree.wait_time)
465
- assert_equal(0.0, call_tree.self_time)
466
- assert_equal(400.0, call_tree.children_time)
467
-
468
- call_tree = method.call_trees.callees[1]
469
- assert_equal('Allocator#make_hashes', call_tree.target.full_name)
470
- assert_equal(1160.0, call_tree.total_time)
471
- assert_equal(0.0, call_tree.wait_time)
472
- assert_equal(0.0, call_tree.self_time)
473
- assert_equal(1160.0, call_tree.children_time)
474
-
475
- call_tree = method.call_trees.callees[2]
476
- assert_equal('Allocator#make_strings', call_tree.target.full_name)
477
- assert_equal(160.0, call_tree.total_time)
478
- assert_equal(0.0, call_tree.wait_time)
479
- assert_equal(40, call_tree.self_time)
480
- assert_equal(120.0, call_tree.children_time)
481
-
482
- # Method 3
483
- method = methods[3]
484
- assert_equal('Class#new', method.full_name)
485
- assert_equal(1680.0, method.total_time)
486
- assert_equal(0.0, method.wait_time)
487
- assert_equal(1640.0, method.self_time)
488
- assert_equal(40.0, method.children_time)
489
-
490
- assert_equal(4, method.call_trees.callers.length)
491
- call_tree = method.call_trees.callers[0]
492
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
493
- assert_equal(40.0, call_tree.total_time)
494
- assert_equal(0.0, call_tree.wait_time)
495
- assert_equal(40.0, call_tree.self_time)
496
- assert_equal(0.0, call_tree.children_time)
497
-
498
- call_tree = method.call_trees.callers[1]
499
- assert_equal('Integer#times', call_tree.parent.target.full_name)
500
- assert_equal(400.0, call_tree.total_time)
501
- assert_equal(0.0, call_tree.wait_time)
502
- assert_equal(400.0, call_tree.self_time)
503
- assert_equal(0.0, call_tree.children_time)
504
-
505
- call_tree = method.call_trees.callers[2]
506
- assert_equal('Allocator#make_hashes', call_tree.parent.target.full_name)
507
- assert_equal(1160.0, call_tree.total_time)
508
- assert_equal(0.0, call_tree.wait_time)
509
- assert_equal(1160.0, call_tree.self_time)
510
- assert_equal(0.0, call_tree.children_time)
511
-
512
- call_tree = method.call_trees.callers[3]
513
- assert_equal('Allocator#make_strings', call_tree.parent.target.full_name)
514
- assert_equal(80.0, call_tree.total_time)
515
- assert_equal(0.0, call_tree.wait_time)
516
- assert_equal(40.0, call_tree.self_time)
517
- assert_equal(40.0, call_tree.children_time)
518
-
519
- assert_equal(4, method.call_trees.callees.length)
520
- call_tree = method.call_trees.callees[0]
521
- assert_equal('BasicObject#initialize', call_tree.target.full_name)
522
- assert_equal(0.0, call_tree.total_time)
523
- assert_equal(0.0, call_tree.wait_time)
524
- assert_equal(0.0, call_tree.self_time)
525
- assert_equal(0.0, call_tree.children_time)
526
-
527
- call_tree = method.call_trees.callees[1]
528
- assert_equal('Array#initialize', call_tree.target.full_name)
529
- assert_equal(0.0, call_tree.total_time)
530
- assert_equal(0.0, call_tree.wait_time)
531
- assert_equal(0.0, call_tree.self_time)
532
- assert_equal(0.0, call_tree.children_time)
533
-
534
- call_tree = method.call_trees.callees[2]
535
- assert_equal('Hash#initialize', call_tree.target.full_name)
536
- assert_equal(0.0, call_tree.total_time)
537
- assert_equal(0.0, call_tree.wait_time)
538
- assert_equal(0.0, call_tree.self_time)
539
- assert_equal(0.0, call_tree.children_time)
540
-
541
- call_tree = method.call_trees.callees[3]
542
- assert_equal('String#initialize', call_tree.target.full_name)
543
- assert_equal(40.0, call_tree.total_time)
544
- assert_equal(0.0, call_tree.wait_time)
545
- assert_equal(40.0, call_tree.self_time)
546
- assert_equal(0.0, call_tree.children_time)
547
-
548
- # Method 4
549
- method = methods[4]
550
- assert_equal('Allocator#make_hashes', method.full_name)
551
- assert_equal(1160.0, method.total_time)
552
- assert_equal(0.0, method.wait_time)
553
- assert_equal(0.0, method.self_time)
554
- assert_equal(1160.0, method.children_time)
555
-
556
- assert_equal(1, method.call_trees.callers.length)
557
- call_tree = method.call_trees.callers[0]
558
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
559
- assert_equal(1160.0, call_tree.total_time)
560
- assert_equal(0.0, call_tree.wait_time)
561
- assert_equal(0.0, call_tree.self_time)
562
- assert_equal(1160.0, call_tree.children_time)
563
-
564
- assert_equal(1, method.call_trees.callees.length)
565
- call_tree = method.call_trees.callees[0]
566
- assert_equal('Class#new', call_tree.target.full_name)
567
- assert_equal(1160.0, call_tree.total_time)
568
- assert_equal(0.0, call_tree.wait_time)
569
- assert_equal(1160.0, call_tree.self_time)
570
- assert_equal(0.0, call_tree.children_time)
571
-
572
- # Method 5
573
- method = methods[5]
574
- assert_equal('Allocator#make_arrays', method.full_name)
575
- assert_equal(400.0, method.total_time)
576
- assert_equal(0.0, method.wait_time)
577
- assert_equal(0.0, method.self_time)
578
- assert_equal(400.0, method.children_time)
579
-
580
- assert_equal(1, method.call_trees.callers.length)
581
- call_tree = method.call_trees.callers[0]
582
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
583
- assert_equal(400.0, call_tree.total_time)
584
- assert_equal(0.0, call_tree.wait_time)
585
- assert_equal(0.0, call_tree.self_time)
586
- assert_equal(400.0, call_tree.children_time)
587
-
588
- assert_equal(1, method.call_trees.callees.length)
589
- call_tree = method.call_trees.callees[0]
590
- assert_equal('Integer#times', call_tree.target.full_name)
591
- assert_equal(400.0, call_tree.total_time)
592
- assert_equal(0.0, call_tree.wait_time)
593
- assert_equal(0.0, call_tree.self_time)
594
- assert_equal(400.0, call_tree.children_time)
595
-
596
- # Method 6
597
- method = methods[6]
598
- assert_equal('Integer#times', method.full_name)
599
- assert_equal(400.0, method.total_time)
600
- assert_equal(0.0, method.wait_time)
601
- assert_equal(0.0, method.self_time)
602
- assert_equal(400.0, method.children_time)
603
-
604
- assert_equal(1, method.call_trees.callers.length)
605
- call_tree = method.call_trees.callers[0]
606
- assert_equal('Allocator#make_arrays', call_tree.parent.target.full_name)
607
- assert_equal(400.0, call_tree.total_time)
608
- assert_equal(0.0, call_tree.wait_time)
609
- assert_equal(0.0, call_tree.self_time)
610
- assert_equal(400.0, call_tree.children_time)
611
-
612
- assert_equal(1, method.call_trees.callees.length)
613
- call_tree = method.call_trees.callees[0]
614
- assert_equal('Class#new', call_tree.target.full_name)
615
- assert_equal(400.0, call_tree.total_time)
616
- assert_equal(0.0, call_tree.wait_time)
617
- assert_equal(400.0, call_tree.self_time)
618
- assert_equal(0.0, call_tree.children_time)
619
-
620
- # Method 7
621
- method = methods[7]
622
- assert_equal('Allocator#make_strings', method.full_name)
623
- assert_equal(160.0, method.total_time)
624
- assert_equal(0.0, method.wait_time)
625
- assert_equal(40.0, method.self_time)
626
- assert_equal(120.0, method.children_time)
627
-
628
- assert_equal(1, method.call_trees.callers.length)
629
- call_tree = method.call_trees.callers[0]
630
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
631
- assert_equal(160.0, call_tree.total_time)
632
- assert_equal(0.0, call_tree.wait_time)
633
- assert_equal(40.0, call_tree.self_time)
634
- assert_equal(120.0, call_tree.children_time)
635
-
636
- assert_equal(2, method.call_trees.callees.length)
637
- call_tree = method.call_trees.callees[0]
638
- assert_equal('String#*', call_tree.target.full_name)
639
- assert_equal(40.0, call_tree.total_time)
640
- assert_equal(0.0, call_tree.wait_time)
641
- assert_equal(40.0, call_tree.self_time)
642
- assert_equal(0.0, call_tree.children_time)
643
-
644
- call_tree = method.call_trees.callees[1]
645
- assert_equal('Class#new', call_tree.target.full_name)
646
- assert_equal(80.0, call_tree.total_time)
647
- assert_equal(0.0, call_tree.wait_time)
648
- assert_equal(40.0, call_tree.self_time)
649
- assert_equal(40.0, call_tree.children_time)
650
-
651
- # Method 8
652
- method = methods[8]
653
- assert_equal('String#*', method.full_name)
654
- assert_equal(40.0, method.total_time)
655
- assert_equal(0.0, method.wait_time)
656
- assert_equal(40.0, method.self_time)
657
- assert_equal(0.0, method.children_time)
658
-
659
- assert_equal(1, method.call_trees.callers.length)
660
- call_tree = method.call_trees.callers[0]
661
- assert_equal('Allocator#make_strings', call_tree.parent.target.full_name)
662
- assert_equal(40.0, call_tree.total_time)
663
- assert_equal(0.0, call_tree.wait_time)
664
- assert_equal(40.0, call_tree.self_time)
665
- assert_equal(0.0, call_tree.children_time)
666
-
667
- assert_equal(0.0, method.call_trees.callees.length)
668
-
669
- # Method 9
670
- method = methods[9]
671
- assert_equal('String#initialize', method.full_name)
672
- assert_equal(40.0, method.total_time)
673
- assert_equal(0.0, method.wait_time)
674
- assert_equal(40.0, method.self_time)
675
- assert_equal(0.0, method.children_time)
676
-
677
- assert_equal(1, method.call_trees.callers.length)
678
- call_tree = method.call_trees.callers[0]
679
- assert_equal('Class#new', call_tree.parent.target.full_name)
680
- assert_equal(40.0, call_tree.total_time)
681
- assert_equal(0.0, call_tree.wait_time)
682
- assert_equal(40.0, call_tree.self_time)
683
- assert_equal(0.0, call_tree.children_time)
684
-
685
- assert_equal(0.0, method.call_trees.callees.length)
686
-
687
316
  # Method 10
688
317
  method = methods[10]
689
- assert_equal('BasicObject#initialize', method.full_name)
318
+ assert_equal('Hash#initialize', method.full_name)
690
319
  assert_equal(0.0, method.total_time)
691
320
  assert_equal(0.0, method.wait_time)
692
321
  assert_equal(0.0, method.self_time)
@@ -704,24 +333,6 @@ class MeasureMemoryTraceTest < TestCase
704
333
 
705
334
  # Method 11
706
335
  method = methods[11]
707
- assert_equal('Hash#initialize', method.full_name)
708
- assert_equal(0.0, method.total_time)
709
- assert_equal(0.0, method.wait_time)
710
- assert_equal(0.0, method.self_time)
711
- assert_equal(0.0, method.children_time)
712
-
713
- assert_equal(1, method.call_trees.callers.length)
714
- call_tree = method.call_trees.callers[0]
715
- assert_equal('Class#new', call_tree.parent.target.full_name)
716
- assert_equal(0.0, call_tree.total_time)
717
- assert_equal(0.0, call_tree.wait_time)
718
- assert_equal(0.0, call_tree.self_time)
719
- assert_equal(0.0, call_tree.children_time)
720
-
721
- assert_equal(0.0, method.call_trees.callees.length)
722
-
723
- # Method 12
724
- method = methods[12]
725
336
  assert_equal('Array#initialize', method.full_name)
726
337
  assert_equal(0.0, method.total_time)
727
338
  assert_equal(0.0, method.wait_time)
@@ -749,11 +360,11 @@ class MeasureMemoryTraceTest < TestCase
749
360
 
750
361
  assert_in_delta(800, thread.total_time, 1)
751
362
  methods = result.threads.first.methods.sort.reverse
752
- assert_equal(13, methods.length)
363
+ assert_equal(12, methods.length)
753
364
 
754
365
  # Method 0
755
366
  method = methods[0]
756
- assert_equal('MeasureMemoryTraceTest#test_memory', method.full_name)
367
+ assert_equal('MeasureMemoryTest#test_memory', method.full_name)
757
368
  assert_in_delta(800, method.total_time, 1)
758
369
 
759
370
  assert_equal(0.0, method.wait_time)
@@ -786,31 +397,7 @@ class MeasureMemoryTraceTest < TestCase
786
397
 
787
398
  assert_equal(1, method.call_trees.callers.length)
788
399
  call_tree = method.call_trees.callers[0]
789
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
790
- assert_equal(760.0, call_tree.total_time)
791
- assert_equal(0.0, call_tree.wait_time)
792
- assert_equal(0.0, call_tree.self_time)
793
- assert_equal(760.0, call_tree.children_time)
794
-
795
- assert_equal(1, method.call_trees.callees.length)
796
- call_tree = method.call_trees.callees[0]
797
- assert_equal('Allocator#internal_run', call_tree.target.full_name)
798
- assert_equal(760.0, call_tree.total_time)
799
- assert_equal(0.0, call_tree.wait_time)
800
- assert_equal(0.0, call_tree.self_time)
801
- assert_equal(760.0, call_tree.children_time)
802
-
803
- # Method 2
804
- method = methods[2]
805
- assert_equal('Allocator#internal_run', method.full_name)
806
- assert_equal(760.0, method.total_time)
807
- assert_equal(0.0, method.wait_time)
808
- assert_equal(0.0, method.self_time)
809
- assert_equal(760.0, method.children_time)
810
-
811
- assert_equal(1, method.call_trees.callers.length)
812
- call_tree = method.call_trees.callers[0]
813
- assert_equal('Allocator#run', call_tree.parent.target.full_name)
400
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
814
401
  assert_equal(760.0, call_tree.total_time)
815
402
  assert_equal(0.0, call_tree.wait_time)
816
403
  assert_equal(0.0, call_tree.self_time)
@@ -835,11 +422,11 @@ class MeasureMemoryTraceTest < TestCase
835
422
  assert_equal('Allocator#make_strings', call_tree.target.full_name)
836
423
  assert_equal(160.0, call_tree.total_time)
837
424
  assert_equal(0.0, call_tree.wait_time)
838
- assert_equal(40, call_tree.self_time)
425
+ assert_equal(40.0, call_tree.self_time)
839
426
  assert_equal(120.0, call_tree.children_time)
840
427
 
841
- # Method 3
842
- method = methods[3]
428
+ # Method 2
429
+ method = methods[2]
843
430
  assert_equal('Class#new', method.full_name)
844
431
  assert_equal(720.0, method.total_time)
845
432
  assert_equal(0.0, method.wait_time)
@@ -848,7 +435,7 @@ class MeasureMemoryTraceTest < TestCase
848
435
 
849
436
  assert_equal(4, method.call_trees.callers.length)
850
437
  call_tree = method.call_trees.callers[0]
851
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
438
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
852
439
  assert_equal(40.0, call_tree.total_time)
853
440
  assert_equal(0.0, call_tree.wait_time)
854
441
  assert_equal(40.0, call_tree.self_time)
@@ -904,8 +491,8 @@ class MeasureMemoryTraceTest < TestCase
904
491
  assert_equal(40.0, call_tree.self_time)
905
492
  assert_equal(0.0, call_tree.children_time)
906
493
 
907
- # Method 4
908
- method = methods[4]
494
+ # Method 3
495
+ method = methods[3]
909
496
  assert_equal('Allocator#make_arrays', method.full_name)
910
497
  assert_equal(400.0, method.total_time)
911
498
  assert_equal(0.0, method.wait_time)
@@ -914,7 +501,7 @@ class MeasureMemoryTraceTest < TestCase
914
501
 
915
502
  assert_equal(1, method.call_trees.callers.length)
916
503
  call_tree = method.call_trees.callers[0]
917
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
504
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
918
505
  assert_equal(400.0, call_tree.total_time)
919
506
  assert_equal(0.0, call_tree.wait_time)
920
507
  assert_equal(0.0, call_tree.self_time)
@@ -928,8 +515,8 @@ class MeasureMemoryTraceTest < TestCase
928
515
  assert_equal(0.0, call_tree.self_time)
929
516
  assert_equal(400.0, call_tree.children_time)
930
517
 
931
- # Method 5
932
- method = methods[5]
518
+ # Method 4
519
+ method = methods[4]
933
520
  assert_equal('Integer#times', method.full_name)
934
521
  assert_equal(400.0, method.total_time)
935
522
  assert_equal(0.0, method.wait_time)
@@ -952,8 +539,8 @@ class MeasureMemoryTraceTest < TestCase
952
539
  assert_equal(400.0, call_tree.self_time)
953
540
  assert_equal(0.0, call_tree.children_time)
954
541
 
955
- # Method 6
956
- method = methods[6]
542
+ # Method 5
543
+ method = methods[5]
957
544
  assert_equal('Allocator#make_hashes', method.full_name)
958
545
  assert_equal(200.0, method.total_time)
959
546
  assert_equal(0.0, method.wait_time)
@@ -962,7 +549,7 @@ class MeasureMemoryTraceTest < TestCase
962
549
 
963
550
  assert_equal(1, method.call_trees.callers.length)
964
551
  call_tree = method.call_trees.callers[0]
965
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
552
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
966
553
  assert_equal(200.0, call_tree.total_time)
967
554
  assert_equal(0.0, call_tree.wait_time)
968
555
  assert_equal(0.0, call_tree.self_time)
@@ -976,8 +563,8 @@ class MeasureMemoryTraceTest < TestCase
976
563
  assert_equal(200.0, call_tree.self_time)
977
564
  assert_equal(0.0, call_tree.children_time)
978
565
 
979
- # Method 7
980
- method = methods[7]
566
+ # Method 6
567
+ method = methods[6]
981
568
  assert_equal('Allocator#make_strings', method.full_name)
982
569
  assert_equal(160.0, method.total_time)
983
570
  assert_equal(0.0, method.wait_time)
@@ -986,7 +573,7 @@ class MeasureMemoryTraceTest < TestCase
986
573
 
987
574
  assert_equal(1, method.call_trees.callers.length)
988
575
  call_tree = method.call_trees.callers[0]
989
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
576
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
990
577
  assert_equal(160.0, call_tree.total_time)
991
578
  assert_equal(0.0, call_tree.wait_time)
992
579
  assert_equal(40.0, call_tree.self_time)
@@ -1007,8 +594,8 @@ class MeasureMemoryTraceTest < TestCase
1007
594
  assert_equal(40.0, call_tree.self_time)
1008
595
  assert_equal(40.0, call_tree.children_time)
1009
596
 
1010
- # Method 8
1011
- method = methods[8]
597
+ # Method 7
598
+ method = methods[7]
1012
599
  assert_equal('String#*', method.full_name)
1013
600
  assert_equal(40.0, method.total_time)
1014
601
  assert_equal(0.0, method.wait_time)
@@ -1025,8 +612,8 @@ class MeasureMemoryTraceTest < TestCase
1025
612
 
1026
613
  assert_equal(0.0, method.call_trees.callees.length)
1027
614
 
1028
- # Method 9
1029
- method = methods[9]
615
+ # Method 8
616
+ method = methods[8]
1030
617
  assert_equal('String#initialize', method.full_name)
1031
618
  assert_equal(40.0, method.total_time)
1032
619
  assert_equal(0.0, method.wait_time)
@@ -1043,8 +630,8 @@ class MeasureMemoryTraceTest < TestCase
1043
630
 
1044
631
  assert_equal(0.0, method.call_trees.callees.length)
1045
632
 
1046
- # Method 10
1047
- method = methods[10]
633
+ # Method 9
634
+ method = methods[9]
1048
635
  assert_equal('BasicObject#initialize', method.full_name)
1049
636
  assert_equal(0.0, method.total_time)
1050
637
  assert_equal(0.0, method.wait_time)
@@ -1061,8 +648,8 @@ class MeasureMemoryTraceTest < TestCase
1061
648
 
1062
649
  assert_equal(0.0, method.call_trees.callees.length)
1063
650
 
1064
- # Method 11
1065
- method = methods[11]
651
+ # Method 10
652
+ method = methods[10]
1066
653
  assert_equal('Hash#initialize', method.full_name)
1067
654
  assert_equal(0.0, method.total_time)
1068
655
  assert_equal(0.0, method.wait_time)
@@ -1079,8 +666,8 @@ class MeasureMemoryTraceTest < TestCase
1079
666
 
1080
667
  assert_equal(0.0, method.call_trees.callees.length)
1081
668
 
1082
- # Method 12
1083
- method = methods[12]
669
+ # Method 11
670
+ method = methods[11]
1084
671
  assert_equal('Array#initialize', method.full_name)
1085
672
  assert_equal(0.0, method.total_time)
1086
673
  assert_equal(0.0, method.wait_time)