ruby-prof 1.4.3 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,19 +22,19 @@ 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)
@@ -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,8 +313,8 @@ 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]
316
+ # Method 10
317
+ method = methods[10]
342
318
  assert_equal('Hash#initialize', method.full_name)
343
319
  assert_equal(0.0, method.total_time)
344
320
  assert_equal(0.0, method.wait_time)
@@ -355,8 +331,8 @@ class MeasureMemoryTraceTest < TestCase
355
331
 
356
332
  assert_equal(0.0, method.call_trees.callees.length)
357
333
 
358
- # Method 12
359
- method = methods[12]
334
+ # Method 11
335
+ method = methods[11]
360
336
  assert_equal('Array#initialize', method.full_name)
361
337
  assert_equal(0.0, method.total_time)
362
338
  assert_equal(0.0, method.wait_time)
@@ -373,7 +349,7 @@ class MeasureMemoryTraceTest < TestCase
373
349
 
374
350
  assert_equal(0.0, method.call_trees.callees.length)
375
351
  end
376
- elsif Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7')
352
+ elsif Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.2')
377
353
  def test_memory
378
354
  result = RubyProf.profile do
379
355
  allocator = Allocator.new
@@ -382,24 +358,18 @@ class MeasureMemoryTraceTest < TestCase
382
358
 
383
359
  thread = result.threads.first
384
360
 
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
-
361
+ assert_in_delta(800, thread.total_time, 1)
391
362
  methods = result.threads.first.methods.sort.reverse
392
- assert_equal(13, methods.length)
363
+ assert_equal(12, methods.length)
393
364
 
394
365
  # Method 0
395
366
  method = methods[0]
396
- assert_equal('MeasureMemoryTraceTest#test_memory', method.full_name)
397
- assert_in_delta(1760, method.total_time, 1)
367
+ assert_equal('MeasureMemoryTest#test_memory', method.full_name)
368
+ assert_in_delta(800, method.total_time, 1)
398
369
 
399
370
  assert_equal(0.0, method.wait_time)
400
371
  assert_equal(0.0, method.self_time)
401
- assert_in_delta(1760, method.children_time, 1)
402
-
372
+ assert_in_delta(800, method.children_time, 1)
403
373
  assert_equal(0, method.call_trees.callers.length)
404
374
 
405
375
  assert_equal(2, method.call_trees.callees.length)
@@ -412,50 +382,26 @@ class MeasureMemoryTraceTest < TestCase
412
382
 
413
383
  call_tree = method.call_trees.callees[1]
414
384
  assert_equal('Allocator#run', call_tree.target.full_name)
415
- assert_equal(1720.0, call_tree.total_time)
385
+ assert_equal(760.0, call_tree.total_time)
416
386
  assert_equal(0.0, call_tree.wait_time)
417
387
  assert_equal(0.0, call_tree.self_time)
418
- assert_equal(1720.0, call_tree.children_time)
388
+ assert_equal(760.0, call_tree.children_time)
419
389
 
420
390
  # Method 1
421
391
  method = methods[1]
422
392
  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)
393
+ assert_equal(760.0, method.total_time)
448
394
  assert_equal(0.0, method.wait_time)
449
395
  assert_equal(0.0, method.self_time)
450
- assert_equal(1720.0, method.children_time)
396
+ assert_equal(760.0, method.children_time)
451
397
 
452
398
  assert_equal(1, method.call_trees.callers.length)
453
399
  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)
400
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
401
+ assert_equal(760.0, call_tree.total_time)
456
402
  assert_equal(0.0, call_tree.wait_time)
457
403
  assert_equal(0.0, call_tree.self_time)
458
- assert_equal(1720.0, call_tree.children_time)
404
+ assert_equal(760.0, call_tree.children_time)
459
405
 
460
406
  assert_equal(3, method.call_trees.callees.length)
461
407
  call_tree = method.call_trees.callees[0]
@@ -467,29 +413,29 @@ class MeasureMemoryTraceTest < TestCase
467
413
 
468
414
  call_tree = method.call_trees.callees[1]
469
415
  assert_equal('Allocator#make_hashes', call_tree.target.full_name)
470
- assert_equal(1160.0, call_tree.total_time)
416
+ assert_equal(200.0, call_tree.total_time)
471
417
  assert_equal(0.0, call_tree.wait_time)
472
418
  assert_equal(0.0, call_tree.self_time)
473
- assert_equal(1160.0, call_tree.children_time)
419
+ assert_equal(200.0, call_tree.children_time)
474
420
 
475
421
  call_tree = method.call_trees.callees[2]
476
422
  assert_equal('Allocator#make_strings', call_tree.target.full_name)
477
423
  assert_equal(160.0, call_tree.total_time)
478
424
  assert_equal(0.0, call_tree.wait_time)
479
- assert_equal(40, call_tree.self_time)
425
+ assert_equal(40.0, call_tree.self_time)
480
426
  assert_equal(120.0, call_tree.children_time)
481
427
 
482
- # Method 3
483
- method = methods[3]
428
+ # Method 2
429
+ method = methods[2]
484
430
  assert_equal('Class#new', method.full_name)
485
- assert_equal(1680.0, method.total_time)
431
+ assert_equal(720.0, method.total_time)
486
432
  assert_equal(0.0, method.wait_time)
487
- assert_equal(1640.0, method.self_time)
433
+ assert_equal(680.0, method.self_time)
488
434
  assert_equal(40.0, method.children_time)
489
435
 
490
436
  assert_equal(4, method.call_trees.callers.length)
491
437
  call_tree = method.call_trees.callers[0]
492
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
438
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
493
439
  assert_equal(40.0, call_tree.total_time)
494
440
  assert_equal(0.0, call_tree.wait_time)
495
441
  assert_equal(40.0, call_tree.self_time)
@@ -504,9 +450,9 @@ class MeasureMemoryTraceTest < TestCase
504
450
 
505
451
  call_tree = method.call_trees.callers[2]
506
452
  assert_equal('Allocator#make_hashes', call_tree.parent.target.full_name)
507
- assert_equal(1160.0, call_tree.total_time)
453
+ assert_equal(200.0, call_tree.total_time)
508
454
  assert_equal(0.0, call_tree.wait_time)
509
- assert_equal(1160.0, call_tree.self_time)
455
+ assert_equal(200.0, call_tree.self_time)
510
456
  assert_equal(0.0, call_tree.children_time)
511
457
 
512
458
  call_tree = method.call_trees.callers[3]
@@ -545,32 +491,8 @@ class MeasureMemoryTraceTest < TestCase
545
491
  assert_equal(40.0, call_tree.self_time)
546
492
  assert_equal(0.0, call_tree.children_time)
547
493
 
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]
494
+ # Method 3
495
+ method = methods[3]
574
496
  assert_equal('Allocator#make_arrays', method.full_name)
575
497
  assert_equal(400.0, method.total_time)
576
498
  assert_equal(0.0, method.wait_time)
@@ -579,7 +501,7 @@ class MeasureMemoryTraceTest < TestCase
579
501
 
580
502
  assert_equal(1, method.call_trees.callers.length)
581
503
  call_tree = method.call_trees.callers[0]
582
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
504
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
583
505
  assert_equal(400.0, call_tree.total_time)
584
506
  assert_equal(0.0, call_tree.wait_time)
585
507
  assert_equal(0.0, call_tree.self_time)
@@ -593,8 +515,8 @@ class MeasureMemoryTraceTest < TestCase
593
515
  assert_equal(0.0, call_tree.self_time)
594
516
  assert_equal(400.0, call_tree.children_time)
595
517
 
596
- # Method 6
597
- method = methods[6]
518
+ # Method 4
519
+ method = methods[4]
598
520
  assert_equal('Integer#times', method.full_name)
599
521
  assert_equal(400.0, method.total_time)
600
522
  assert_equal(0.0, method.wait_time)
@@ -617,8 +539,32 @@ class MeasureMemoryTraceTest < TestCase
617
539
  assert_equal(400.0, call_tree.self_time)
618
540
  assert_equal(0.0, call_tree.children_time)
619
541
 
620
- # Method 7
621
- method = methods[7]
542
+ # Method 5
543
+ method = methods[5]
544
+ assert_equal('Allocator#make_hashes', method.full_name)
545
+ assert_equal(200.0, method.total_time)
546
+ assert_equal(0.0, method.wait_time)
547
+ assert_equal(0.0, method.self_time)
548
+ assert_equal(200.0, method.children_time)
549
+
550
+ assert_equal(1, method.call_trees.callers.length)
551
+ call_tree = method.call_trees.callers[0]
552
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
553
+ assert_equal(200.0, call_tree.total_time)
554
+ assert_equal(0.0, call_tree.wait_time)
555
+ assert_equal(0.0, call_tree.self_time)
556
+ assert_equal(200.0, call_tree.children_time)
557
+
558
+ assert_equal(1, method.call_trees.callees.length)
559
+ call_tree = method.call_trees.callees[0]
560
+ assert_equal('Class#new', call_tree.target.full_name)
561
+ assert_equal(200.0, call_tree.total_time)
562
+ assert_equal(0.0, call_tree.wait_time)
563
+ assert_equal(200.0, call_tree.self_time)
564
+ assert_equal(0.0, call_tree.children_time)
565
+
566
+ # Method 6
567
+ method = methods[6]
622
568
  assert_equal('Allocator#make_strings', method.full_name)
623
569
  assert_equal(160.0, method.total_time)
624
570
  assert_equal(0.0, method.wait_time)
@@ -627,7 +573,7 @@ class MeasureMemoryTraceTest < TestCase
627
573
 
628
574
  assert_equal(1, method.call_trees.callers.length)
629
575
  call_tree = method.call_trees.callers[0]
630
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
576
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
631
577
  assert_equal(160.0, call_tree.total_time)
632
578
  assert_equal(0.0, call_tree.wait_time)
633
579
  assert_equal(40.0, call_tree.self_time)
@@ -648,8 +594,8 @@ class MeasureMemoryTraceTest < TestCase
648
594
  assert_equal(40.0, call_tree.self_time)
649
595
  assert_equal(40.0, call_tree.children_time)
650
596
 
651
- # Method 8
652
- method = methods[8]
597
+ # Method 7
598
+ method = methods[7]
653
599
  assert_equal('String#*', method.full_name)
654
600
  assert_equal(40.0, method.total_time)
655
601
  assert_equal(0.0, method.wait_time)
@@ -666,8 +612,8 @@ class MeasureMemoryTraceTest < TestCase
666
612
 
667
613
  assert_equal(0.0, method.call_trees.callees.length)
668
614
 
669
- # Method 9
670
- method = methods[9]
615
+ # Method 8
616
+ method = methods[8]
671
617
  assert_equal('String#initialize', method.full_name)
672
618
  assert_equal(40.0, method.total_time)
673
619
  assert_equal(0.0, method.wait_time)
@@ -684,8 +630,8 @@ class MeasureMemoryTraceTest < TestCase
684
630
 
685
631
  assert_equal(0.0, method.call_trees.callees.length)
686
632
 
687
- # Method 10
688
- method = methods[10]
633
+ # Method 9
634
+ method = methods[9]
689
635
  assert_equal('BasicObject#initialize', method.full_name)
690
636
  assert_equal(0.0, method.total_time)
691
637
  assert_equal(0.0, method.wait_time)
@@ -702,8 +648,8 @@ class MeasureMemoryTraceTest < TestCase
702
648
 
703
649
  assert_equal(0.0, method.call_trees.callees.length)
704
650
 
705
- # Method 11
706
- method = methods[11]
651
+ # Method 10
652
+ method = methods[10]
707
653
  assert_equal('Hash#initialize', method.full_name)
708
654
  assert_equal(0.0, method.total_time)
709
655
  assert_equal(0.0, method.wait_time)
@@ -720,8 +666,8 @@ class MeasureMemoryTraceTest < TestCase
720
666
 
721
667
  assert_equal(0.0, method.call_trees.callees.length)
722
668
 
723
- # Method 12
724
- method = methods[12]
669
+ # Method 11
670
+ method = methods[11]
725
671
  assert_equal('Array#initialize', method.full_name)
726
672
  assert_equal(0.0, method.total_time)
727
673
  assert_equal(0.0, method.wait_time)
@@ -738,7 +684,7 @@ class MeasureMemoryTraceTest < TestCase
738
684
 
739
685
  assert_equal(0.0, method.call_trees.callees.length)
740
686
  end
741
- elsif Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0')
687
+ else
742
688
  def test_memory
743
689
  result = RubyProf.profile do
744
690
  allocator = Allocator.new
@@ -747,18 +693,18 @@ class MeasureMemoryTraceTest < TestCase
747
693
 
748
694
  thread = result.threads.first
749
695
 
750
- assert_in_delta(800, thread.total_time, 1)
696
+ assert_in_delta(1040, thread.total_time, 1)
751
697
  methods = result.threads.first.methods.sort.reverse
752
698
  assert_equal(13, methods.length)
753
699
 
754
700
  # Method 0
755
701
  method = methods[0]
756
- assert_equal('MeasureMemoryTraceTest#test_memory', method.full_name)
757
- assert_in_delta(800, method.total_time, 1)
702
+ assert_equal('MeasureMemoryTest#test_memory', method.full_name)
703
+ assert_in_delta(1040, method.total_time, 1)
758
704
 
759
705
  assert_equal(0.0, method.wait_time)
760
706
  assert_equal(0.0, method.self_time)
761
- assert_in_delta(800, method.children_time, 1)
707
+ assert_in_delta(1040, method.children_time, 1)
762
708
  assert_equal(0, method.call_trees.callers.length)
763
709
 
764
710
  assert_equal(2, method.call_trees.callees.length)
@@ -771,50 +717,26 @@ class MeasureMemoryTraceTest < TestCase
771
717
 
772
718
  call_tree = method.call_trees.callees[1]
773
719
  assert_equal('Allocator#run', call_tree.target.full_name)
774
- assert_equal(760.0, call_tree.total_time)
720
+ assert_equal(1000.0, call_tree.total_time)
775
721
  assert_equal(0.0, call_tree.wait_time)
776
722
  assert_equal(0.0, call_tree.self_time)
777
- assert_equal(760.0, call_tree.children_time)
723
+ assert_equal(1000.0, call_tree.children_time)
778
724
 
779
725
  # Method 1
780
726
  method = methods[1]
781
727
  assert_equal('Allocator#run',method.full_name)
782
- assert_equal(760.0, method.total_time)
783
- assert_equal(0.0, method.wait_time)
784
- assert_equal(0.0, method.self_time)
785
- assert_equal(760.0, method.children_time)
786
-
787
- assert_equal(1, method.call_trees.callers.length)
788
- 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)
728
+ assert_equal(1000.0, method.total_time)
807
729
  assert_equal(0.0, method.wait_time)
808
730
  assert_equal(0.0, method.self_time)
809
- assert_equal(760.0, method.children_time)
731
+ assert_equal(1000.0, method.children_time)
810
732
 
811
733
  assert_equal(1, method.call_trees.callers.length)
812
734
  call_tree = method.call_trees.callers[0]
813
- assert_equal('Allocator#run', call_tree.parent.target.full_name)
814
- assert_equal(760.0, call_tree.total_time)
735
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
736
+ assert_equal(1000.0, call_tree.total_time)
815
737
  assert_equal(0.0, call_tree.wait_time)
816
738
  assert_equal(0.0, call_tree.self_time)
817
- assert_equal(760.0, call_tree.children_time)
739
+ assert_equal(1000.0, call_tree.children_time)
818
740
 
819
741
  assert_equal(3, method.call_trees.callees.length)
820
742
  call_tree = method.call_trees.callees[0]
@@ -833,49 +755,42 @@ class MeasureMemoryTraceTest < TestCase
833
755
 
834
756
  call_tree = method.call_trees.callees[2]
835
757
  assert_equal('Allocator#make_strings', call_tree.target.full_name)
836
- assert_equal(160.0, call_tree.total_time)
758
+ assert_equal(400.0, call_tree.total_time)
837
759
  assert_equal(0.0, call_tree.wait_time)
838
- assert_equal(40, call_tree.self_time)
839
- assert_equal(120.0, call_tree.children_time)
760
+ assert_equal(40.0, call_tree.self_time)
761
+ assert_equal(360.0, call_tree.children_time)
840
762
 
841
- # Method 3
842
- method = methods[3]
763
+ # Method 2
764
+ method = methods[2]
843
765
  assert_equal('Class#new', method.full_name)
844
- assert_equal(720.0, method.total_time)
766
+ assert_equal(440.0, method.total_time)
845
767
  assert_equal(0.0, method.wait_time)
846
- assert_equal(680.0, method.self_time)
847
- assert_equal(40.0, method.children_time)
768
+ assert_equal(280.0, method.self_time)
769
+ assert_equal(160.0, method.children_time)
848
770
 
849
- assert_equal(4, method.call_trees.callers.length)
771
+ assert_equal(3, method.call_trees.callers.length)
850
772
  call_tree = method.call_trees.callers[0]
851
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
773
+ assert_equal('MeasureMemoryTest#test_memory', call_tree.parent.target.full_name)
852
774
  assert_equal(40.0, call_tree.total_time)
853
775
  assert_equal(0.0, call_tree.wait_time)
854
776
  assert_equal(40.0, call_tree.self_time)
855
777
  assert_equal(0.0, call_tree.children_time)
856
778
 
857
779
  call_tree = method.call_trees.callers[1]
858
- assert_equal('Integer#times', call_tree.parent.target.full_name)
859
- assert_equal(400.0, call_tree.total_time)
860
- assert_equal(0.0, call_tree.wait_time)
861
- assert_equal(400.0, call_tree.self_time)
862
- assert_equal(0.0, call_tree.children_time)
863
-
864
- call_tree = method.call_trees.callers[2]
865
780
  assert_equal('Allocator#make_hashes', call_tree.parent.target.full_name)
866
781
  assert_equal(200.0, call_tree.total_time)
867
782
  assert_equal(0.0, call_tree.wait_time)
868
783
  assert_equal(200.0, call_tree.self_time)
869
784
  assert_equal(0.0, call_tree.children_time)
870
785
 
871
- call_tree = method.call_trees.callers[3]
786
+ call_tree = method.call_trees.callers[2]
872
787
  assert_equal('Allocator#make_strings', call_tree.parent.target.full_name)
873
- assert_equal(80.0, call_tree.total_time)
788
+ assert_equal(200.0, call_tree.total_time)
874
789
  assert_equal(0.0, call_tree.wait_time)
875
790
  assert_equal(40.0, call_tree.self_time)
876
- assert_equal(40.0, call_tree.children_time)
791
+ assert_equal(160.0, call_tree.children_time)
877
792
 
878
- assert_equal(4, method.call_trees.callees.length)
793
+ assert_equal(3, method.call_trees.callees.length)
879
794
  call_tree = method.call_trees.callees[0]
880
795
  assert_equal('BasicObject#initialize', call_tree.target.full_name)
881
796
  assert_equal(0.0, call_tree.total_time)
@@ -884,26 +799,50 @@ class MeasureMemoryTraceTest < TestCase
884
799
  assert_equal(0.0, call_tree.children_time)
885
800
 
886
801
  call_tree = method.call_trees.callees[1]
887
- assert_equal('Array#initialize', call_tree.target.full_name)
802
+ assert_equal('Hash#initialize', call_tree.target.full_name)
888
803
  assert_equal(0.0, call_tree.total_time)
889
804
  assert_equal(0.0, call_tree.wait_time)
890
805
  assert_equal(0.0, call_tree.self_time)
891
806
  assert_equal(0.0, call_tree.children_time)
892
807
 
893
808
  call_tree = method.call_trees.callees[2]
894
- assert_equal('Hash#initialize', call_tree.target.full_name)
895
- assert_equal(0.0, call_tree.total_time)
809
+ assert_equal('String#initialize', call_tree.target.full_name)
810
+ assert_equal(160.0, call_tree.total_time)
896
811
  assert_equal(0.0, call_tree.wait_time)
897
- assert_equal(0.0, call_tree.self_time)
812
+ assert_equal(160.0, call_tree.self_time)
898
813
  assert_equal(0.0, call_tree.children_time)
899
814
 
900
- call_tree = method.call_trees.callees[3]
901
- assert_equal('String#initialize', call_tree.target.full_name)
902
- assert_equal(40.0, call_tree.total_time)
903
- assert_equal(0.0, call_tree.wait_time)
815
+ # Method 3
816
+ method = methods[3]
817
+ assert_equal('Allocator#make_strings', method.full_name)
818
+ assert_equal(400.0, method.total_time)
819
+ assert_equal(0.0, method.wait_time)
820
+ assert_equal(40.0, method.self_time)
821
+ assert_equal(360.0, method.children_time)
822
+
823
+ assert_equal(1, method.call_trees.callers.length)
824
+ call_tree = method.call_trees.callers[0]
825
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
826
+ assert_equal(400.0, call_tree.total_time)
827
+ assert_equal(0.0, call_tree.wait_time)
904
828
  assert_equal(40.0, call_tree.self_time)
829
+ assert_equal(360.0, call_tree.children_time)
830
+
831
+ assert_equal(2, method.call_trees.callees.length)
832
+ call_tree = method.call_trees.callees[0]
833
+ assert_equal('String#*', call_tree.target.full_name)
834
+ assert_equal(160.0, call_tree.total_time)
835
+ assert_equal(0.0, call_tree.wait_time)
836
+ assert_equal(160.0, call_tree.self_time)
905
837
  assert_equal(0.0, call_tree.children_time)
906
838
 
839
+ call_tree = method.call_trees.callees[1]
840
+ assert_equal('Class#new', call_tree.target.full_name)
841
+ assert_equal(200.0, call_tree.total_time)
842
+ assert_equal(0.0, call_tree.wait_time)
843
+ assert_equal(40.0, call_tree.self_time)
844
+ assert_equal(160.0, call_tree.children_time)
845
+
907
846
  # Method 4
908
847
  method = methods[4]
909
848
  assert_equal('Allocator#make_arrays', method.full_name)
@@ -914,7 +853,7 @@ class MeasureMemoryTraceTest < TestCase
914
853
 
915
854
  assert_equal(1, method.call_trees.callers.length)
916
855
  call_tree = method.call_trees.callers[0]
917
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
856
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
918
857
  assert_equal(400.0, call_tree.total_time)
919
858
  assert_equal(0.0, call_tree.wait_time)
920
859
  assert_equal(0.0, call_tree.self_time)
@@ -946,7 +885,7 @@ class MeasureMemoryTraceTest < TestCase
946
885
 
947
886
  assert_equal(1, method.call_trees.callees.length)
948
887
  call_tree = method.call_trees.callees[0]
949
- assert_equal('Class#new', call_tree.target.full_name)
888
+ assert_equal('<Class::Array>#new', call_tree.target.full_name)
950
889
  assert_equal(400.0, call_tree.total_time)
951
890
  assert_equal(0.0, call_tree.wait_time)
952
891
  assert_equal(400.0, call_tree.self_time)
@@ -954,432 +893,66 @@ class MeasureMemoryTraceTest < TestCase
954
893
 
955
894
  # Method 6
956
895
  method = methods[6]
957
- assert_equal('Allocator#make_hashes', method.full_name)
958
- assert_equal(200.0, method.total_time)
959
- assert_equal(0.0, method.wait_time)
960
- assert_equal(0.0, method.self_time)
961
- assert_equal(200.0, method.children_time)
962
-
963
- assert_equal(1, method.call_trees.callers.length)
964
- call_tree = method.call_trees.callers[0]
965
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
966
- assert_equal(200.0, call_tree.total_time)
967
- assert_equal(0.0, call_tree.wait_time)
968
- assert_equal(0.0, call_tree.self_time)
969
- assert_equal(200.0, call_tree.children_time)
970
-
971
- assert_equal(1, method.call_trees.callees.length)
972
- call_tree = method.call_trees.callees[0]
973
- assert_equal('Class#new', call_tree.target.full_name)
974
- assert_equal(200.0, call_tree.total_time)
975
- assert_equal(0.0, call_tree.wait_time)
976
- assert_equal(200.0, call_tree.self_time)
977
- assert_equal(0.0, call_tree.children_time)
978
-
979
- # Method 7
980
- method = methods[7]
981
- assert_equal('Allocator#make_strings', method.full_name)
982
- assert_equal(160.0, method.total_time)
983
- assert_equal(0.0, method.wait_time)
984
- assert_equal(40.0, method.self_time)
985
- assert_equal(120.0, method.children_time)
986
-
987
- assert_equal(1, method.call_trees.callers.length)
988
- call_tree = method.call_trees.callers[0]
989
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
990
- assert_equal(160.0, call_tree.total_time)
991
- assert_equal(0.0, call_tree.wait_time)
992
- assert_equal(40.0, call_tree.self_time)
993
- assert_equal(120.0, call_tree.children_time)
994
-
995
- assert_equal(2, method.call_trees.callees.length)
996
- call_tree = method.call_trees.callees[0]
997
- assert_equal('String#*', call_tree.target.full_name)
998
- assert_equal(40.0, call_tree.total_time)
999
- assert_equal(0.0, call_tree.wait_time)
1000
- assert_equal(40.0, call_tree.self_time)
1001
- assert_equal(0.0, call_tree.children_time)
1002
-
1003
- call_tree = method.call_trees.callees[1]
1004
- assert_equal('Class#new', call_tree.target.full_name)
1005
- assert_equal(80.0, call_tree.total_time)
1006
- assert_equal(0.0, call_tree.wait_time)
1007
- assert_equal(40.0, call_tree.self_time)
1008
- assert_equal(40.0, call_tree.children_time)
1009
-
1010
- # Method 8
1011
- method = methods[8]
1012
- assert_equal('String#*', method.full_name)
1013
- assert_equal(40.0, method.total_time)
1014
- assert_equal(0.0, method.wait_time)
1015
- assert_equal(40.0, method.self_time)
1016
- assert_equal(0.0, method.children_time)
1017
-
1018
- assert_equal(1, method.call_trees.callers.length)
1019
- call_tree = method.call_trees.callers[0]
1020
- assert_equal('Allocator#make_strings', call_tree.parent.target.full_name)
1021
- assert_equal(40.0, call_tree.total_time)
1022
- assert_equal(0.0, call_tree.wait_time)
1023
- assert_equal(40.0, call_tree.self_time)
1024
- assert_equal(0.0, call_tree.children_time)
1025
-
1026
- assert_equal(0.0, method.call_trees.callees.length)
1027
-
1028
- # Method 9
1029
- method = methods[9]
1030
- assert_equal('String#initialize', method.full_name)
1031
- assert_equal(40.0, method.total_time)
1032
- assert_equal(0.0, method.wait_time)
1033
- assert_equal(40.0, method.self_time)
1034
- assert_equal(0.0, method.children_time)
1035
-
1036
- assert_equal(1, method.call_trees.callers.length)
1037
- call_tree = method.call_trees.callers[0]
1038
- assert_equal('Class#new', call_tree.parent.target.full_name)
1039
- assert_equal(40.0, call_tree.total_time)
1040
- assert_equal(0.0, call_tree.wait_time)
1041
- assert_equal(40.0, call_tree.self_time)
1042
- assert_equal(0.0, call_tree.children_time)
1043
-
1044
- assert_equal(0.0, method.call_trees.callees.length)
1045
-
1046
- # Method 10
1047
- method = methods[10]
1048
- assert_equal('BasicObject#initialize', method.full_name)
1049
- assert_equal(0.0, method.total_time)
1050
- assert_equal(0.0, method.wait_time)
1051
- assert_equal(0.0, method.self_time)
1052
- assert_equal(0.0, method.children_time)
1053
-
1054
- assert_equal(1, method.call_trees.callers.length)
1055
- call_tree = method.call_trees.callers[0]
1056
- assert_equal('Class#new', call_tree.parent.target.full_name)
1057
- assert_equal(0.0, call_tree.total_time)
1058
- assert_equal(0.0, call_tree.wait_time)
1059
- assert_equal(0.0, call_tree.self_time)
1060
- assert_equal(0.0, call_tree.children_time)
1061
-
1062
- assert_equal(0.0, method.call_trees.callees.length)
1063
-
1064
- # Method 11
1065
- method = methods[11]
1066
- assert_equal('Hash#initialize', method.full_name)
1067
- assert_equal(0.0, method.total_time)
1068
- assert_equal(0.0, method.wait_time)
1069
- assert_equal(0.0, method.self_time)
1070
- assert_equal(0.0, method.children_time)
1071
-
1072
- assert_equal(1, method.call_trees.callers.length)
1073
- call_tree = method.call_trees.callers[0]
1074
- assert_equal('Class#new', call_tree.parent.target.full_name)
1075
- assert_equal(0.0, call_tree.total_time)
1076
- assert_equal(0.0, call_tree.wait_time)
1077
- assert_equal(0.0, call_tree.self_time)
1078
- assert_equal(0.0, call_tree.children_time)
1079
-
1080
- assert_equal(0.0, method.call_trees.callees.length)
1081
-
1082
- # Method 12
1083
- method = methods[12]
1084
- assert_equal('Array#initialize', method.full_name)
1085
- assert_equal(0.0, method.total_time)
896
+ assert_equal('<Class::Array>#new', method.full_name)
897
+ assert_equal(400.0, method.total_time)
1086
898
  assert_equal(0.0, method.wait_time)
1087
- assert_equal(0.0, method.self_time)
899
+ assert_equal(400.0, method.self_time)
1088
900
  assert_equal(0.0, method.children_time)
1089
901
 
1090
902
  assert_equal(1, method.call_trees.callers.length)
1091
903
  call_tree = method.call_trees.callers[0]
1092
- assert_equal('Class#new', call_tree.parent.target.full_name)
1093
- assert_equal(0.0, call_tree.total_time)
1094
- assert_equal(0.0, call_tree.wait_time)
1095
- assert_equal(0.0, call_tree.self_time)
1096
- assert_equal(0.0, call_tree.children_time)
1097
-
1098
- assert_equal(0.0, method.call_trees.callees.length)
1099
- end
1100
- else
1101
- def test_memory
1102
- result = RubyProf.profile do
1103
- allocator = Allocator.new
1104
- allocator.run
1105
- end
1106
-
1107
- thread = result.threads.first
1108
-
1109
- assert_in_delta(1680, thread.total_time, 1)
1110
- methods = result.threads.first.methods.sort.reverse
1111
- assert_equal(13, methods.length)
1112
-
1113
- # Method 0
1114
- method = methods[0]
1115
- assert_equal('MeasureMemoryTraceTest#test_memory', method.full_name)
1116
- assert_in_delta(1680, method.total_time, 1)
1117
-
1118
- assert_equal(0.0, method.wait_time)
1119
- assert_equal(80.0, method.self_time)
1120
- assert_in_delta(1600, method.children_time, 1)
1121
- assert_equal(0, method.call_trees.callers.length)
1122
-
1123
- assert_equal(2, method.call_trees.callees.length)
1124
- call_tree = method.call_trees.callees[0]
1125
- assert_equal('Class#new', call_tree.target.full_name)
1126
- assert_equal(40.0, call_tree.total_time)
1127
- assert_equal(0.0, call_tree.wait_time)
1128
- assert_equal(40.0, call_tree.self_time)
1129
- assert_equal(0.0, call_tree.children_time)
1130
-
1131
- call_tree = method.call_trees.callees[1]
1132
- assert_equal('Allocator#run', call_tree.target.full_name)
1133
- assert_equal(1560.0, call_tree.total_time)
1134
- assert_equal(0.0, call_tree.wait_time)
1135
- assert_equal(40.0, call_tree.self_time)
1136
- assert_equal(1520.0, call_tree.children_time)
1137
-
1138
- # Method 1
1139
- method = methods[1]
1140
- assert_equal('Allocator#run',method.full_name)
1141
- assert_equal(1560.0, method.total_time)
1142
- assert_equal(0.0, method.wait_time)
1143
- assert_equal(40.0, method.self_time)
1144
- assert_equal(1520.0, method.children_time)
1145
-
1146
- assert_equal(1, method.call_trees.callers.length)
1147
- call_tree = method.call_trees.callers[0]
1148
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
1149
- assert_equal(1560.0, call_tree.total_time)
1150
- assert_equal(0.0, call_tree.wait_time)
1151
- assert_equal(40.0, call_tree.self_time)
1152
- assert_equal(1520.0, call_tree.children_time)
1153
-
1154
- assert_equal(1, method.call_trees.callees.length)
1155
- call_tree = method.call_trees.callees[0]
1156
- assert_equal('Allocator#internal_run', call_tree.target.full_name)
1157
- assert_equal(1520.0, call_tree.total_time)
1158
- assert_equal(0.0, call_tree.wait_time)
1159
- assert_equal(120.0, call_tree.self_time)
1160
- assert_equal(1400.0, call_tree.children_time)
1161
-
1162
- # Method 2
1163
- method = methods[2]
1164
- assert_equal('Allocator#internal_run', method.full_name)
1165
- assert_equal(1520.0, method.total_time)
1166
- assert_equal(0.0, method.wait_time)
1167
- assert_equal(120.0, method.self_time)
1168
- assert_equal(1400.0, method.children_time)
1169
-
1170
- assert_equal(1, method.call_trees.callers.length)
1171
- call_tree = method.call_trees.callers[0]
1172
- assert_equal('Allocator#run', call_tree.parent.target.full_name)
1173
- assert_equal(1520.0, call_tree.total_time)
1174
- assert_equal(0.0, call_tree.wait_time)
1175
- assert_equal(120.0, call_tree.self_time)
1176
- assert_equal(1400.0, call_tree.children_time)
1177
-
1178
- assert_equal(3, method.call_trees.callees.length)
1179
- call_tree = method.call_trees.callees[0]
1180
- assert_equal('Allocator#make_arrays', call_tree.target.full_name)
1181
- assert_equal(400.0, call_tree.total_time)
1182
- assert_equal(0.0, call_tree.wait_time)
1183
- assert_equal(0.0, call_tree.self_time)
1184
- assert_equal(400.0, call_tree.children_time)
1185
-
1186
- call_tree = method.call_trees.callees[1]
1187
- assert_equal('Allocator#make_hashes', call_tree.target.full_name)
1188
- assert_equal(840.0, call_tree.total_time)
1189
- assert_equal(0.0, call_tree.wait_time)
1190
- assert_equal(0.0, call_tree.self_time)
1191
- assert_equal(840.0, call_tree.children_time)
1192
-
1193
- call_tree = method.call_trees.callees[2]
1194
- assert_equal('Allocator#make_strings', call_tree.target.full_name)
1195
- assert_equal(160.0, call_tree.total_time)
1196
- assert_equal(0.0, call_tree.wait_time)
1197
- assert_equal(40, call_tree.self_time)
1198
- assert_equal(120.0, call_tree.children_time)
1199
-
1200
- # Method 3
1201
- method = methods[3]
1202
- assert_equal('Class#new', method.full_name)
1203
- assert_equal(1360.0, method.total_time)
1204
- assert_equal(0.0, method.wait_time)
1205
- assert_equal(1320.0, method.self_time)
1206
- assert_equal(40.0, method.children_time)
1207
-
1208
- assert_equal(4, method.call_trees.callers.length)
1209
- call_tree = method.call_trees.callers[0]
1210
- assert_equal('MeasureMemoryTraceTest#test_memory', call_tree.parent.target.full_name)
1211
- assert_equal(40.0, call_tree.total_time)
1212
- assert_equal(0.0, call_tree.wait_time)
1213
- assert_equal(40.0, call_tree.self_time)
1214
- assert_equal(0.0, call_tree.children_time)
1215
-
1216
- call_tree = method.call_trees.callers[1]
1217
904
  assert_equal('Integer#times', call_tree.parent.target.full_name)
1218
905
  assert_equal(400.0, call_tree.total_time)
1219
906
  assert_equal(0.0, call_tree.wait_time)
1220
907
  assert_equal(400.0, call_tree.self_time)
1221
908
  assert_equal(0.0, call_tree.children_time)
1222
909
 
1223
- call_tree = method.call_trees.callers[2]
1224
- assert_equal('Allocator#make_hashes', call_tree.parent.target.full_name)
1225
- assert_equal(840.0, call_tree.total_time)
1226
- assert_equal(0.0, call_tree.wait_time)
1227
- assert_equal(840.0, call_tree.self_time)
1228
- assert_equal(0.0, call_tree.children_time)
1229
-
1230
- call_tree = method.call_trees.callers[3]
1231
- assert_equal('Allocator#make_strings', call_tree.parent.target.full_name)
1232
- assert_equal(80.0, call_tree.total_time)
1233
- assert_equal(0.0, call_tree.wait_time)
1234
- assert_equal(40.0, call_tree.self_time)
1235
- assert_equal(40.0, call_tree.children_time)
1236
-
1237
- assert_equal(4, method.call_trees.callees.length)
910
+ assert_equal(1, method.call_trees.callees.length)
1238
911
  call_tree = method.call_trees.callees[0]
1239
- assert_equal('BasicObject#initialize', call_tree.target.full_name)
1240
- assert_equal(0.0, call_tree.total_time)
1241
- assert_equal(0.0, call_tree.wait_time)
1242
- assert_equal(0.0, call_tree.self_time)
1243
- assert_equal(0.0, call_tree.children_time)
1244
-
1245
- call_tree = method.call_trees.callees[1]
1246
912
  assert_equal('Array#initialize', call_tree.target.full_name)
1247
913
  assert_equal(0.0, call_tree.total_time)
1248
914
  assert_equal(0.0, call_tree.wait_time)
1249
915
  assert_equal(0.0, call_tree.self_time)
1250
916
  assert_equal(0.0, call_tree.children_time)
1251
917
 
1252
- call_tree = method.call_trees.callees[2]
1253
- assert_equal('Hash#initialize', call_tree.target.full_name)
1254
- assert_equal(0.0, call_tree.total_time)
1255
- assert_equal(0.0, call_tree.wait_time)
1256
- assert_equal(0.0, call_tree.self_time)
1257
- assert_equal(0.0, call_tree.children_time)
1258
-
1259
- call_tree = method.call_trees.callees[3]
1260
- assert_equal('String#initialize', call_tree.target.full_name)
1261
- assert_equal(40.0, call_tree.total_time)
1262
- assert_equal(0.0, call_tree.wait_time)
1263
- assert_equal(40.0, call_tree.self_time)
1264
- assert_equal(0.0, call_tree.children_time)
1265
-
1266
- # Method 4
1267
- method = methods[4]
918
+ # Method 7
919
+ method = methods[7]
1268
920
  assert_equal('Allocator#make_hashes', method.full_name)
1269
- assert_equal(840.0, method.total_time)
1270
- assert_equal(0.0, method.wait_time)
1271
- assert_equal(0.0, method.self_time)
1272
- assert_equal(840.0, method.children_time)
1273
-
1274
- assert_equal(1, method.call_trees.callers.length)
1275
- call_tree = method.call_trees.callers[0]
1276
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
1277
- assert_equal(840.0, call_tree.total_time)
1278
- assert_equal(0.0, call_tree.wait_time)
1279
- assert_equal(0.0, call_tree.self_time)
1280
- assert_equal(840.0, call_tree.children_time)
1281
-
1282
- assert_equal(1, method.call_trees.callees.length)
1283
- call_tree = method.call_trees.callees[0]
1284
- assert_equal('Class#new', call_tree.target.full_name)
1285
- assert_equal(840.0, call_tree.total_time)
1286
- assert_equal(0.0, call_tree.wait_time)
1287
- assert_equal(840.0, call_tree.self_time)
1288
- assert_equal(0.0, call_tree.children_time)
1289
-
1290
- # Method 5
1291
- method = methods[5]
1292
- assert_equal('Allocator#make_arrays', method.full_name)
1293
- assert_equal(400.0, method.total_time)
1294
- assert_equal(0.0, method.wait_time)
1295
- assert_equal(0.0, method.self_time)
1296
- assert_equal(400.0, method.children_time)
1297
-
1298
- assert_equal(1, method.call_trees.callers.length)
1299
- call_tree = method.call_trees.callers[0]
1300
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
1301
- assert_equal(400.0, call_tree.total_time)
1302
- assert_equal(0.0, call_tree.wait_time)
1303
- assert_equal(0.0, call_tree.self_time)
1304
- assert_equal(400.0, call_tree.children_time)
1305
-
1306
- assert_equal(1, method.call_trees.callees.length)
1307
- call_tree = method.call_trees.callees[0]
1308
- assert_equal('Integer#times', call_tree.target.full_name)
1309
- assert_equal(400.0, call_tree.total_time)
1310
- assert_equal(0.0, call_tree.wait_time)
1311
- assert_equal(0.0, call_tree.self_time)
1312
- assert_equal(400.0, call_tree.children_time)
1313
-
1314
- # Method 6
1315
- method = methods[6]
1316
- assert_equal('Integer#times', method.full_name)
1317
- assert_equal(400.0, method.total_time)
921
+ assert_equal(200.0, method.total_time)
1318
922
  assert_equal(0.0, method.wait_time)
1319
923
  assert_equal(0.0, method.self_time)
1320
- assert_equal(400.0, method.children_time)
924
+ assert_equal(200.0, method.children_time)
1321
925
 
1322
926
  assert_equal(1, method.call_trees.callers.length)
1323
927
  call_tree = method.call_trees.callers[0]
1324
- assert_equal('Allocator#make_arrays', call_tree.parent.target.full_name)
1325
- assert_equal(400.0, call_tree.total_time)
928
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
929
+ assert_equal(200.0, call_tree.total_time)
1326
930
  assert_equal(0.0, call_tree.wait_time)
1327
931
  assert_equal(0.0, call_tree.self_time)
1328
- assert_equal(400.0, call_tree.children_time)
932
+ assert_equal(200.0, call_tree.children_time)
1329
933
 
1330
934
  assert_equal(1, method.call_trees.callees.length)
1331
935
  call_tree = method.call_trees.callees[0]
1332
936
  assert_equal('Class#new', call_tree.target.full_name)
1333
- assert_equal(400.0, call_tree.total_time)
1334
- assert_equal(0.0, call_tree.wait_time)
1335
- assert_equal(400.0, call_tree.self_time)
1336
- assert_equal(0.0, call_tree.children_time)
1337
-
1338
- # Method 7
1339
- method = methods[7]
1340
- assert_equal('Allocator#make_strings', method.full_name)
1341
- assert_equal(160.0, method.total_time)
1342
- assert_equal(0.0, method.wait_time)
1343
- assert_equal(40.0, method.self_time)
1344
- assert_equal(120.0, method.children_time)
1345
-
1346
- assert_equal(1, method.call_trees.callers.length)
1347
- call_tree = method.call_trees.callers[0]
1348
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
1349
- assert_equal(160.0, call_tree.total_time)
1350
- assert_equal(0.0, call_tree.wait_time)
1351
- assert_equal(40.0, call_tree.self_time)
1352
- assert_equal(120.0, call_tree.children_time)
1353
-
1354
- assert_equal(2, method.call_trees.callees.length)
1355
- call_tree = method.call_trees.callees[0]
1356
- assert_equal('String#*', call_tree.target.full_name)
1357
- assert_equal(40.0, call_tree.total_time)
937
+ assert_equal(200.0, call_tree.total_time)
1358
938
  assert_equal(0.0, call_tree.wait_time)
1359
- assert_equal(40.0, call_tree.self_time)
939
+ assert_equal(200.0, call_tree.self_time)
1360
940
  assert_equal(0.0, call_tree.children_time)
1361
941
 
1362
- call_tree = method.call_trees.callees[1]
1363
- assert_equal('Class#new', call_tree.target.full_name)
1364
- assert_equal(80.0, call_tree.total_time)
1365
- assert_equal(0.0, call_tree.wait_time)
1366
- assert_equal(40.0, call_tree.self_time)
1367
- assert_equal(40.0, call_tree.children_time)
1368
-
1369
942
  # Method 8
1370
943
  method = methods[8]
1371
944
  assert_equal('String#*', method.full_name)
1372
- assert_equal(40.0, method.total_time)
945
+ assert_equal(160.0, method.total_time)
1373
946
  assert_equal(0.0, method.wait_time)
1374
- assert_equal(40.0, method.self_time)
947
+ assert_equal(160.0, method.self_time)
1375
948
  assert_equal(0.0, method.children_time)
1376
949
 
1377
950
  assert_equal(1, method.call_trees.callers.length)
1378
951
  call_tree = method.call_trees.callers[0]
1379
952
  assert_equal('Allocator#make_strings', call_tree.parent.target.full_name)
1380
- assert_equal(40.0, call_tree.total_time)
953
+ assert_equal(160.0, call_tree.total_time)
1381
954
  assert_equal(0.0, call_tree.wait_time)
1382
- assert_equal(40.0, call_tree.self_time)
955
+ assert_equal(160.0, call_tree.self_time)
1383
956
  assert_equal(0.0, call_tree.children_time)
1384
957
 
1385
958
  assert_equal(0.0, method.call_trees.callees.length)
@@ -1387,17 +960,17 @@ class MeasureMemoryTraceTest < TestCase
1387
960
  # Method 9
1388
961
  method = methods[9]
1389
962
  assert_equal('String#initialize', method.full_name)
1390
- assert_equal(40.0, method.total_time)
963
+ assert_equal(160.0, method.total_time)
1391
964
  assert_equal(0.0, method.wait_time)
1392
- assert_equal(40.0, method.self_time)
965
+ assert_equal(160.0, method.self_time)
1393
966
  assert_equal(0.0, method.children_time)
1394
967
 
1395
968
  assert_equal(1, method.call_trees.callers.length)
1396
969
  call_tree = method.call_trees.callers[0]
1397
970
  assert_equal('Class#new', call_tree.parent.target.full_name)
1398
- assert_equal(40.0, call_tree.total_time)
971
+ assert_equal(160.0, call_tree.total_time)
1399
972
  assert_equal(0.0, call_tree.wait_time)
1400
- assert_equal(40.0, call_tree.self_time)
973
+ assert_equal(160.0, call_tree.self_time)
1401
974
  assert_equal(0.0, call_tree.children_time)
1402
975
 
1403
976
  assert_equal(0.0, method.call_trees.callees.length)
@@ -1448,7 +1021,7 @@ class MeasureMemoryTraceTest < TestCase
1448
1021
 
1449
1022
  assert_equal(1, method.call_trees.callers.length)
1450
1023
  call_tree = method.call_trees.callers[0]
1451
- assert_equal('Class#new', call_tree.parent.target.full_name)
1024
+ assert_equal('<Class::Array>#new', call_tree.parent.target.full_name)
1452
1025
  assert_equal(0.0, call_tree.total_time)
1453
1026
  assert_equal(0.0, call_tree.wait_time)
1454
1027
  assert_equal(0.0, call_tree.self_time)