profiling

Stephen Weeks sweeks@intertrust.com
Mon, 28 Jun 1999 15:40:53 -0700 (PDT)


For your amusement, here are the results of running the profiler on
the regression suite.  Most of the regression tests don't run for
long, so the small tick counts are unsurprising.  Nevertheless, the
profiler seems to be working.  Henry, could you explain the
"~unknown~" label, so I can add something in the documentation about
it?

----------------------------------------
FuhMishra
2 ticks total
equal_0     50.00%
operator_0  50.00%
----------------------------------------
abstype
0 ticks total
----------------------------------------
array
0 ticks total
----------------------------------------
bytechar
1 ticks total
forward (C function) 100.00%
----------------------------------------
callcc
0 ticks total
----------------------------------------
callcc2
0 ticks total
----------------------------------------
check_arrays
3 ticks total
try_with_2  66.67%
try_with_1  33.33%
----------------------------------------
cmdline
1 ticks total
~unknown~ 100.00%
----------------------------------------
cobol
0 ticks total
----------------------------------------
constraint
0 ticks total
----------------------------------------
conv
3 ticks total
MLTON_intInfEqual (C function)  33.33%
intQuot (C function)            33.33%
intRem (C function)             33.33%
----------------------------------------
conv2
3 ticks total
foreachPointerInHeap (C function)  33.33%
reader_2                           33.33%
x_90                               33.33%
----------------------------------------
date
1 ticks total
foreachPointerInHeap (C function) 100.00%
----------------------------------------
fast
228 ticks total
main_0 100.00%
----------------------------------------
fast2
100 ticks total
main_0 100.00%
----------------------------------------
fft
197 ticks total
fmul_0                             23.35%
forward (C function)               14.72%
x_228                              11.17%
x_335                              11.17%
x_252                               8.12%
odds_0                              7.11%
evens_0                             5.08%
mkList_0                            4.57%
fft_0                               4.06%
chunkSwitch                         3.05%
zip_0                               2.54%
foreachPointerInHeap (C function)   2.03%
doit_0                              1.52%
class (C function)                  0.51%
intQuot (C function)                0.51%
setRoundingMode (C function)        0.51%
----------------------------------------
filesys
0 ticks total
----------------------------------------
functor
0 ticks total
----------------------------------------
general
0 ticks total
----------------------------------------
harmonic
1634 ticks total
Loop (C function)                      57.16%
MLTON_do_rem (C function)              13.40%
__mpn_divrem (C function)               6.36%
Lnormal (C function)                    3.86%
Loop2 (C function)                      3.61%
bigRem_0                                2.75%
gcc2_compiled. (C function)             2.45%
Lend2 (C function)                      1.35%
Lend (C function)                       1.10%
L1 (C function)                         1.04%
LLoop (C function)                      0.98%
forward (C function)                    0.73%
reduce_0                                0.61%
L3 (C function)                         0.55%
__mpn_rshift (C function)               0.55%
Lspecial (C function)                   0.43%
__mpn_submul_1 (C function)             0.43%
L4 (C function)                         0.37%
__mpn_lshift (C function)               0.37%
LLoop2 (C function)                     0.18%
__mpn_divmod_1 (C function)             0.18%
__mpn_mod_1 (C function)                0.18%
foreachPointerInHeap (C function)       0.18%
L2 (C function)                         0.12%
__mpn_get_str (C function)              0.12%
__mpn_sub_n (C function)                0.12%
finishGC (C function)                   0.12%
foreachPointerInStackGen (C function)   0.12%
LL1 (C function)                        0.06%
LLend (C function)                      0.06%
MLTON_IntInf_compare (C function)       0.06%
MLTON_do_quot (C function)              0.06%
__mpn_cmp (C function)                  0.06%
chunkSwitch                             0.06%
currentTime (C function)                0.06%
foreachGlobal (C function)              0.06%
startGC (C function)                    0.06%
----------------------------------------
int
5 ticks total
gc                   20.00%
intRem (C function)  20.00%
main_0               20.00%
x_132                20.00%
x_497                20.00%
----------------------------------------
kitdangle
2 ticks total
main_0 100.00%
----------------------------------------
kitdangle3
8 ticks total
mklist_0 100.00%
----------------------------------------
kitfib35
335 ticks total
fib_0        81.49%
chunkSwitch  14.63%
gc            3.88%
----------------------------------------
kitkbjul9
150 ticks total
x_424                                  20.00%
gc                                     18.67%
chunkSwitch                            10.00%
rew_loop_0                             10.00%
stringEqual (C function)                6.67%
tryrec_0                                6.00%
x_369                                   4.67%
rporec_0                                4.00%
MLton_main                              2.67%
endChunkSwitch                          2.00%
redrec_0                                2.00%
x_301                                   2.00%
doit_0                                  1.33%
eq_term_0                               1.33%
forward (C function)                    1.33%
part_rec_0                              1.33%
vars_of_list_0                          1.33%
foreachPointerInStackGen (C function)   0.67%
next_criticals_0                        0.67%
pretty_term_0                           0.67%
print_0                                 0.67%
unify_0                                 0.67%
union_rec_0                             0.67%
x_592                                   0.67%
----------------------------------------
kitlife35u
56 ticks total
main_0                             73.21%
copy_list_0                         7.14%
length_0                            5.36%
tmergesort_0                        5.36%
store_0                             3.57%
foreachPointerInHeap (C function)   1.79%
merge_0                             1.79%
neighbours_0                        1.79%
----------------------------------------
kitloop2
6 ticks total
main_0 100.00%
----------------------------------------
kitmandelbrot
163 ticks total
testit_0 100.00%
----------------------------------------
kitqsort
83 ticks total
quickSortP_0                       36.14%
forward (C function)               18.07%
copyList_0                         16.87%
main_0                              6.02%
setRoundingMode (C function)        4.82%
doit_0                              3.61%
foreachPointerInHeap (C function)   3.61%
getRoundingMode (C function)        3.61%
round (C function)                  2.41%
say_0                               2.41%
chunkSwitch                         1.20%
class (C function)                  1.20%
----------------------------------------
kitreynolds2
165 ticks total
x_197                                  43.64%
x_206                                  30.30%
x_225                                  15.15%
forward (C function)                    6.67%
foreachPointerInHeap (C function)       1.21%
print_0                                 1.21%
chunkSwitch                             0.61%
foreachPointerInStackGen (C function)   0.61%
roundPage (C function)                  0.61%
----------------------------------------
kitreynolds3
69 ticks total
x_197                              94.20%
chunkSwitch                         2.90%
foreachPointerInHeap (C function)   2.90%
----------------------------------------
kitsimple
392 ticks total
subP_1                             92.60%
gc                                  1.53%
x_2167                              1.02%
chunkSwitch                         0.51%
main_0                              0.51%
polynomial_0                        0.51%
pow_0                               0.51%
x_405                               0.51%
MLton_main                          0.26%
endChunkSwitch                      0.26%
foreachPointerInHeap (C function)   0.26%
forward (C function)                0.26%
from_1                              0.26%
index22_0                           0.26%
subP_0                              0.26%
tab_0                               0.26%
x_368                               0.26%
----------------------------------------
kittmergesort
46 ticks total
merge_0                            34.78%
take_0                             15.22%
tmergesort_0                       13.04%
chunkSwitch                         8.70%
length_0                            8.70%
foreachPointerInHeap (C function)   6.52%
forward (C function)                6.52%
div_0                               2.17%
intQuot (C function)                2.17%
main_0                              2.17%
----------------------------------------
kkb36c
144 ticks total
x_424                              29.86%
chunkSwitch                        10.42%
gc                                  9.72%
stringEqual (C function)            8.33%
tryrec_0                            8.33%
rew_loop_0                          7.64%
MLton_main                          4.86%
endChunkSwitch                      2.78%
redrec_0                            2.78%
x_301                               2.08%
x_369                               2.08%
checkSlice_0                        1.39%
forward (C function)                1.39%
rporec_0                            1.39%
vars_of_list_0                      1.39%
x_592                               1.39%
copy_termpairlist_0                 0.69%
foreachPointerInHeap (C function)   0.69%
next_criticals_0                    0.69%
suprec_0                            0.69%
union_rec_1                         0.69%
x_399                               0.69%
----------------------------------------
kkb_eq
147 ticks total
x_443                     25.17%
gc                        14.97%
chunkSwitch                9.52%
MLton_main                 6.12%
map_rec_0                  5.44%
rew_loop_0                 5.44%
stringEqual (C function)   5.44%
tryrec_0                   4.76%
forward (C function)       3.40%
endChunkSwitch             2.72%
map_rec_1                  2.72%
rporec_0                   2.72%
copyVec_0                  2.04%
redrec_0                   2.04%
union_rec_0                2.04%
copy_rules_0               1.36%
checkSlice_0               0.68%
map_rec_4                  0.68%
print_0                    0.68%
processkl_0                0.68%
suprec_0                   0.68%
vars_of_list_0             0.68%
----------------------------------------
klife_eq
28 ticks total
x_292                 60.71%
testit_0              17.86%
lexordset_0           10.71%
copy_list_0            3.57%
forward (C function)   3.57%
neighbours_0           3.57%
----------------------------------------
layout
0 ticks total
----------------------------------------
lex
0 ticks total
----------------------------------------
lib
0 ticks total
----------------------------------------
life
46 ticks total
main_0                39.13%
loop_19               19.57%
loop_22               13.04%
neighbours_0           6.52%
copy_0                 4.35%
merge_0                4.35%
take_0                 4.35%
forward (C function)   2.17%
loop_18                2.17%
loop_21                2.17%
operator_0             2.17%
----------------------------------------
list
0 ticks total
----------------------------------------
listpair
0 ticks total
----------------------------------------
llv
0 ticks total
----------------------------------------
math
0 ticks total
----------------------------------------
msort
0 ticks total
----------------------------------------
opaque
0 ticks total
----------------------------------------
opaque2
0 ticks total
----------------------------------------
pat
0 ticks total
----------------------------------------
pseudokit
0 ticks total
----------------------------------------
rank
0 ticks total
----------------------------------------
real
0 ticks total
----------------------------------------
sigs
0 ticks total
----------------------------------------
size
0 ticks total
----------------------------------------
slow
505 ticks total
main_0 100.00%
----------------------------------------
slow2
255 ticks total
main_0 100.00%
----------------------------------------
slower
771 ticks total
mpz_add (C function)               26.07%
MLTON_do_add (C function)          20.10%
MLTON_IntInf_compare (C function)  12.45%
main_0                             10.38%
gcc2_compiled. (C function)         9.21%
mpz_cmp (C function)                7.00%
__mpn_cmp (C function)              6.36%
Lend2 (C function)                  4.54%
__mpn_sub_n (C function)            2.85%
L4 (C function)                     0.52%
forward (C function)                0.39%
finishGC (C function)               0.13%
----------------------------------------
smith-normal-form
196 ticks total
Loop (C function)                       53.57%
mpz_neg (C function)                    17.35%
__mpn_impn_mul_n (C function)            3.06%
main_0                                   3.06%
bigAbs_0                                 2.55%
Loop2 (C function)                       2.04%
forward (C function)                     2.04%
L2 (C function)                          1.53%
L4 (C function)                          1.53%
MLTON_intInfEqual (C function)           1.53%
__mpn_addmul_1 (C function)              1.53%
__mpn_impn_mul_n_basecase (C function)   1.53%
mpz_add (C function)                     1.53%
L1 (C function)                          1.02%
foreachPointerInHeap (C function)        1.02%
Lend (C function)                        0.51%
MLTON_IntInf_compare (C function)        0.51%
MLTON_do_negate (C function)             0.51%
__mpn_divmod_1 (C function)              0.51%
chunkSwitch                              0.51%
foreachGlobal (C function)               0.51%
gcc2_compiled. (C function)              0.51%
mpz_cmp (C function)                     0.51%
mpz_mul (C function)                     0.51%
x_68                                     0.51%
----------------------------------------
string
0 ticks total
----------------------------------------
stringcvt
21 ticks total
main_0                52.38%
forward (C function)  23.81%
chunkSwitch            4.76%
initGlobals            4.76%
input1P_0              4.76%
newOut_0               4.76%
testtrip_0             4.76%
----------------------------------------
substring
0 ticks total
----------------------------------------
testdyn1
0 ticks total
----------------------------------------
textio
2 ticks total
inputN_0  50.00%
x_722     50.00%
----------------------------------------
time
5 ticks total
fib_0 100.00%
----------------------------------------
tststrcmp
12 ticks total
operator_0  75.00%
x_71        25.00%
----------------------------------------
unixpath
1 ticks total
gc 100.00%
----------------------------------------
vector-loop
0 ticks total
----------------------------------------
vector
0 ticks total
----------------------------------------
word
2 ticks total
foreachPointerInHeap (C function)  50.00%
implode_0                          50.00%
----------------------------------------
word8
0 ticks total
----------------------------------------
word8array
0 ticks total
----------------------------------------
word8vector
0 ticks total