mlprof
Matthew Fluet
mfluet@intertrust.com
Mon, 13 Aug 2001 08:56:47 -0700 (PDT)
So, I was wrong when I said that if a label appears conjoined with another
label, then it won't appear by itself:
19.63 seconds of CPU time
fib_0 100.00%
fib_0 32.25%
L_34,L_52 21.85%
L_35,L_51 20.02%
L_32 11.11%
L_35 4.79%
L_30 4.48%
L_31 3.57%
L_34 1.94%
Here's the reason:
19.63 seconds of CPU time
fib_0 100.00%
fib_0 32.25%
skipGC_1 42.65%
checkFrontier_1 24.64%
statementLimitCheckLoop_1 19.59%
fib_0 13.11%
L_34,L_52 21.85%
L_34,L_52 100.00%
L_35,L_51 20.02%
L_35,L_51 100.00%
L_32 11.11%
noOverflow_3 57.34%
L_32 42.66%
L_35 4.79%
noOverflow_2 100.00%
L_30 4.48%
L_30 100.00%
L_31 3.57%
L_31 100.00%
L_34 1.94%
noOverflow_1 100.00%
Originally, I had blocks L_52, L_34, noOverflow_1, and overflow_1. The
overflow and noOverflow blocks inherited a d1 profile label of L_34. But,
L_52 just jumps to L_34, so I collapsed those two together, giving the
combined block a profile label of L_34,L_52. But, I had no reason to ever
change the overflow blocks, so their labels stayed the same.
Anyways, this will go away when I set up the combining of profile labels
to only preserve the d1 label that appears in CPS. In the above case, the
combined block L_34,L_52 would be given the d1 profile label L_34, and
mlprof will take all d1 L_34's together.