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.