[MLton-devel] profiled self compile with source info

Stephen Weeks MLton@mlton.org
Thu, 12 Dec 2002 15:26:06 -0800


Here's the result of a profiled self compile with the new source
position reporting in mlprof.  Now, instead of reporting SSA function
names, mlprof reports source code positions (file and line) that
define functions.

The results are a bit weird because only source lambdas that make it
as SSA functions are tracked, so a lot is missed due to inlining and
contification.  I'm working on that.


352.95 seconds of CPU time
updateForwardPointers (C @ 0x8825260)                10.47%
codegen/x86-codegen/x86-codegen.fun:435               7.42%
forward (C @ 0x8828300)                               6.69%
../lib/mlton/basic/trace.sml:292                      4.49%
updateBackwardPointersAndSlide (C @ 0x8825580)        4.43%
../lib/mlton/basic/property.fun:36                    3.75%
mark (C)                                              2.49%
codegen/x86-codegen/x86.fun:605                       1.91%
<basis>/general/general.sml:30                        1.61%
backend/machine.fun:290                               1.44%
ssa/simplify.fun:119                                  1.42%
codegen/x86-codegen/x86-allocate-registers.fun:5106   1.34%
codegen/x86-codegen/x86-allocate-registers.fun:623    1.31%
threadInternal (C @ 0x8828640)                        1.26%
isAligned (C @ 0x8823100)                             1.21%
ssa/ssa-tree.fun:1565                                 1.16%
GC_arrayAllocate (C)                                  1.16%
xml/scc-funs.fun:68                                   1.05%
codegen/x86-codegen/x86-live-transfers.fun:1080       1.02%
backend/rssa.fun:578                                  1.01%
../lib/mlton/basic/property-list.fun:41               0.96%
ssa/shrink.fun:731                                    0.95%
codegen/x86-codegen/x86-allocate-registers.fun:1267   0.93%
codegen/x86-codegen/x86-translate.fun:1061            0.92%
cheneyCopy (C @ 0x88242C0)                            0.88%
ssa/shrink.fun:290                                    0.86%
codegen/x86-codegen/x86-allocate-registers.fun:180    0.85%
backend/machine.fun:1072                              0.78%
xml/simplify.fun:205                                  0.77%
codegen/x86-codegen/x86-allocate-registers.fun:10558  0.75%
ssa/restore.fun:287                                   0.74%
xml/xml-tree.fun:338                                  0.72%
codegen/x86-codegen/x86-allocate-registers.fun:3990   0.71%
codegen/x86-codegen/x86-allocate-registers.fun:3789   0.71%
<shared libraries>                                    0.69%
xml/xml-tree.fun:446                                  0.63%
../lib/mlton/set/disjoint.fun:52                      0.56%
../lib/mlton/basic/list.sml:330                       0.55%
../lib/mlton/basic/directed-graph.sml:413             0.55%
codegen/x86-codegen/x86-translate.fun:67              0.55%
codegen/x86-codegen/x86.fun:895                       0.54%
main/compile.sml:295                                  0.52%
codegen/x86-codegen/x86.fun:1002                      0.52%
codegen/x86-codegen/peephole.fun:165                  0.49%
codegen/x86-codegen/x86-allocate-registers.fun:2726   0.48%
codegen/x86-codegen/peephole.fun:318                  0.48%
codegen/x86-codegen/x86-generate-transfers.fun:418    0.46%
<basis>/io/bin-or-text-io.fun:228                     0.46%
xml/xml-tree.fun:336                                  0.45%
codegen/x86-codegen/x86-liveness.fun:71               0.44%
codegen/x86-codegen/x86.fun:502                       0.44%
codegen/x86-codegen/x86-liveness.fun:67               0.43%
codegen/x86-codegen/x86.fun:1305                      0.42%
../lib/mlton/basic/layout.sml:141                     0.41%
codegen/x86-codegen/x86-simplify.fun:3128             0.41%
codegen/x86-codegen/x86-allocate-registers.fun:6476   0.40%
codegen/x86-codegen/x86.fun:3501                      0.39%
codegen/x86-codegen/x86-allocate-registers.fun:1830   0.36%
ssa/ssa-tree.fun:602                                  0.34%
codegen/x86-codegen/x86-liveness.fun:22               0.34%
codegen/x86-codegen/x86-liveness.fun:290              0.33%
ssa/remove-unused.fun:650                             0.32%
ssa/shrink.fun:1273                                   0.32%
codegen/x86-codegen/x86.fun:1193                      0.31%
codegen/x86-codegen/x86.fun:2156                      0.29%
codegen/x86-codegen/x86-generate-transfers.fun:126    0.29%
codegen/x86-codegen/x86-liveness.fun:209              0.27%
codegen/x86-codegen/x86-allocate-registers.fun:10650  0.27%
ssa/ssa-tree.fun:1026                                 0.27%
main/compile.sml:456                                  0.25%
../lib/mlton/basic/layout.sml:37                      0.25%
ssa/restore.fun:686                                   0.25%
codegen/x86-codegen/x86.fun:1897                      0.24%
../lib/mlyacc/stream.sml:24                           0.24%
codegen/x86-codegen/x86-liveness.fun:242              0.23%
closure-convert/closure-convert.fun:706               0.23%
codegen/x86-codegen/x86-simplify.fun:2445             0.22%
codegen/x86-codegen/x86.fun:4072                      0.22%
../lib/mlton/basic/directed-graph.sml:305             0.22%
ssa/shrink.fun:869                                    0.22%
../lib/mlton/basic/append-list.sml:88                 0.22%
ssa/shrink.fun:690                                    0.22%
codegen/x86-codegen/x86-mlton-basic.fun:325           0.21%
codegen/x86-codegen/x86-simplify.fun:2661             0.21%
<basis>/integer/int32.sml:88                          0.21%
ssa/type-check.fun:189                                0.19%
codegen/x86-codegen/x86-simplify.fun:2547             0.18%
ssa/inline.fun:433                                    0.18%
atoms/id.fun:152                                      0.18%
codegen/x86-codegen/x86.fun:4163                      0.17%
codegen/x86-codegen/x86-allocate-registers.fun:907    0.17%
xml/polyvariance.fun:268                              0.16%
codegen/x86-codegen/x86.fun:182                       0.16%
backend/ssa-to-rssa.fun:1260                          0.15%
codegen/x86-codegen/x86.fun:3487                      0.15%
codegen/x86-codegen/x86.fun:3478                      0.15%
backend/rssa.fun:126                                  0.14%
../lib/mlton/basic/directed-graph.sml:186             0.14%
ssa/remove-unused.fun:946                             0.14%
ssa/analyze.fun:209                                   0.14%
../lib/mlton/basic/unique-set.fun:142                 0.14%
atoms/hash-type.fun:128                               0.14%
codegen/x86-codegen/x86-allocate-registers.fun:6135   0.14%
ssa/type-check.fun:18                                 0.14%
elaborate/elaborate.fun:103                           0.13%
codegen/x86-codegen/x86-live-transfers.fun:475        0.13%
<basis>/arrays-and-vectors/sequence.fun:449           0.13%
../lib/mlton/basic/append-list.sml:69                 0.13%
ssa/ssa-tree.fun:1010                                 0.13%
xml/polyvariance.fun:91                               0.13%
ssa/known-case.fun:991                                0.12%
ssa/multi.fun:313                                     0.12%
front-end/ml.grm.sml:2052                             0.12%
codegen/x86-codegen/x86-allocate-registers.fun:10787  0.12%
ssa/shrink.fun:321                                    0.12%
ssa/type-check.fun:148                                0.12%
ssa/analyze.fun:271                                   0.12%
ssa/useless.fun:140                                   0.12%
ssa/direct-exp.fun:387                                0.11%
codegen/x86-codegen/x86-allocate-registers.fun:1524   0.11%
../lib/mlton/basic/directed-graph.sml:450             0.11%
xml/polyvariance.fun:241                              0.11%
ssa/ssa-tree.fun:1891                                 0.11%
closure-convert/lambda-free.fun:74                    0.11%
../lib/mlton/basic/vector.fun:112                     0.11%
codegen/x86-codegen/x86-allocate-registers.fun:4261   0.11%
ssa/ssa-tree.fun:73                                   0.11%
backend/rssa.fun:345                                  0.10%
ssa/type-check.fun:30                                 0.10%
ssa/useless.fun:221                                   0.10%
closure-convert/closure-convert.fun:256               0.10%
codegen/x86-codegen/x86-live-transfers.fun:47         0.10%
codegen/x86-codegen/x86-loop-info.fun:123             0.10%
ssa/two-point-lattice.fun:49                          0.09%
codegen/x86-codegen/x86.fun:267                       0.09%
codegen/x86-codegen/x86-allocate-registers.fun:1083   0.09%
ssa/remove-unused.fun:359                             0.09%
codegen/x86-codegen/x86-live-transfers.fun:923        0.09%
GC_incProfileAlloc (C)                                0.09%
codegen/x86-codegen/x86-allocate-registers.fun:17     0.08%
backend/machine.fun:728                               0.08%
ssa/shrink.fun:1290                                   0.08%
codegen/x86-codegen/x86-live-transfers.fun:405        0.08%
ssa/analyze.fun:16                                    0.08%
backend/rssa.fun:660                                  0.08%
../lib/mlton/basic/directed-graph.sml:715             0.08%
backend/rssa.fun:530                                  0.08%
codegen/x86-codegen/x86.fun:2487                      0.08%
ssa/restore.fun:769                                   0.07%
xml/monomorphise.fun:344                              0.07%
ssa/shrink.fun:923                                    0.07%
ssa/shrink.fun:624                                    0.07%
ssa/useless.fun:304                                   0.07%
ssa/contify.fun:375                                   0.07%
backend/backend.fun:147                               0.07%
ssa/remove-unused.fun:372                             0.07%
codegen/x86-codegen/x86-allocate-registers.fun:3481   0.07%
backend/limit-check.fun:720                           0.07%
codegen/x86-codegen/x86-jump-info.fun:49              0.07%
codegen/x86-codegen/x86-jump-info.fun:56              0.06%
<basis>/text/char0.sml:44                             0.06%
codegen/x86-codegen/x86-liveness.fun:191              0.06%
backend/machine.fun:265                               0.06%
ssa/inline.fun:418                                    0.06%
../lib/mlton/basic/directed-graph.sml:607             0.06%
../lib/mlton/basic/list.sml:113                       0.06%
control/control.sml:577                               0.06%
ssa/shrink.fun:1269                                   0.06%
ssa/ssa-tree.fun:604                                  0.06%
ssa/constant-propagation.fun:299                      0.06%
codegen/x86-codegen/x86-simplify.fun:4758             0.06%
ssa/shrink.fun:1011                                   0.06%
../lib/mlton/set/ordered-unique-set.fun:70            0.05%
ssa/contify.fun:764                                   0.05%
xml/polyvariance.fun:40                               0.05%
codegen/x86-codegen/x86-generate-transfers.fun:362    0.05%
ssa/common-subexp.fun:131                             0.05%
../lib/smlnj/splaytree.sml:23                         0.05%
ssa/local-flatten.fun:111                             0.05%
<basis>/arrays-and-vectors/sequence.fun:450           0.05%
xml/polyvariance.fun:99                               0.05%
closure-convert/globalize.fun:58                      0.05%
../lib/mlton/basic/quick-sort.sml:61                  0.05%
elaborate/elaborate-core.fun:707                      0.05%
ssa/multi.fun:160                                     0.05%
resizeCardMapAndCrossMap (C @ 0x8826000)              0.05%
backend/backend.fun:300                               0.05%
xml/implement-exceptions.fun:222                      0.05%
codegen/x86-codegen/x86-simplify.fun:4927             0.05%
elaborate/elaborate.fun:60                            0.05%
type-inference/type-env.fun:449                       0.05%
backend/machine.fun:246                               0.05%
../lib/mlton/basic/directed-graph.sml:474             0.05%
ssa/direct-exp.fun:290                                0.04%
closure-convert/closure-convert.fun:414               0.04%
backend/backend.fun:919                               0.04%
backend/limit-check.fun:111                           0.04%
main/compile.sml:438                                  0.04%
ssa/remove-unused.fun:744                             0.04%
backend/backend.fun:966                               0.04%
codegen/x86-codegen/x86-simplify.fun:3458             0.04%
../lib/mlton/basic/property.fun:47                    0.04%
closure-convert/closure-convert.fun:439               0.04%
ssa/constant-propagation.fun:598                      0.04%
ssa/analyze.fun:31                                    0.04%
ssa/shrink.fun:1004                                   0.04%
atoms/cases.fun:97                                    0.04%
../lib/mlton/basic/directed-graph.sml:691             0.04%
codegen/x86-codegen/x86-loop-info.fun:26              0.04%
ssa/contify.fun:666                                   0.04%
ssa/ssa-tree.fun:1066                                 0.04%
ssa/remove-unused.fun:432                             0.03%
closure-convert/closure-convert.fun:1023              0.03%
backend/allocate-registers.fun:113                    0.03%
codegen/x86-codegen/x86-allocate-registers.fun:2062   0.03%
ssa/constant-propagation.fun:622                      0.03%
ssa/contify.fun:518                                   0.03%
ssa/simplify-types.fun:652                            0.03%
ssa/useless.fun:229                                   0.03%
codegen/x86-codegen/x86-liveness.fun:643              0.03%
front-end/ml.grm.sml:3671                             0.03%
atoms/id.fun:222                                      0.03%
ssa/constant-propagation.fun:575                      0.03%
ssa/constant-propagation.fun:483                      0.03%
type-inference/infer.fun:1045                         0.03%
ssa/global.fun:44                                     0.03%
ssa/type-check.fun:57                                 0.03%
xml/monomorphise.fun:264                              0.03%
type-inference/infer.fun:56                           0.03%
type-inference/infer.fun:927                          0.03%
ssa/direct-exp.fun:372                                0.03%
closure-convert/closure-convert.fun:979               0.03%
backend/machine-atoms.fun:101                         0.03%
codegen/x86-codegen/x86-simplify.fun:3235             0.03%
elaborate/elaborate-env.fun:974                       0.03%
backend/ssa-to-rssa.fun:583                           0.03%
ssa/shrink.fun:278                                    0.03%
type-inference/infer.fun:280                          0.03%
backend/machine.fun:62                                0.02%
../lib/mlton/basic/layout.sml:104                     0.02%
ssa/redundant-tests.fun:206                           0.02%
ssa/restore.fun:218                                   0.02%
type-inference/infer.fun:918                          0.02%
codegen/x86-codegen/x86-simplify.fun:3233             0.02%
front-end/ml.grm.sml:3584                             0.02%
backend/limit-check.fun:670                           0.02%
core-ml/core-ml.fun:356                               0.02%
codegen/x86-codegen/x86-generate-transfers.fun:208    0.02%
ssa/flatten.fun:260                                   0.02%
type-inference/infer.fun:497                          0.02%
xml/xml-tree.fun:568                                  0.02%
../lib/mlton/basic/vector.fun:278                     0.02%
elaborate/elaborate-core.fun:368                      0.02%
elaborate/elaborate-env.fun:900                       0.02%
elaborate/elaborate-core.fun:203                      0.02%
codegen/x86-codegen/x86-simplify.fun:2750             0.02%
codegen/x86-codegen/x86.fun:1315                      0.02%
codegen/x86-codegen/x86-liveness.fun:362              0.02%
<basis>/arrays-and-vectors/sequence.fun:235           0.02%
codegen/x86-codegen/x86-simplify.fun:3151             0.02%
ssa/restore.fun:531                                   0.02%
backend/rssa.fun:46                                   0.02%
codegen/x86-codegen/peephole.fun:61                   0.01%
xml/xml-tree.fun:524                                  0.01%
codegen/x86-codegen/x86.fun:1125                      0.01%
ssa/known-case.fun:880                                0.01%
ssa/known-case.fun:604                                0.01%
codegen/x86-codegen/x86-codegen.fun:81                0.01%
backend/ssa-to-rssa.fun:382                           0.01%
ssa/redundant.fun:108                                 0.01%
front-end/ml.lex.sml:4614                             0.01%
backend/implement-handlers.fun:51                     0.01%
../lib/mlton/basic/promise.sml:32                     0.01%
front-end/ml.grm.sml:3812                             0.01%
closure-convert/closure-convert.fun:475               0.01%
type-inference/infer.fun:1040                         0.01%
../lib/mlton/basic/string0.sml:164                    0.01%
type-inference/scope.fun:191                          0.01%
codegen/x86-codegen/x86-codegen.fun:228               0.01%
backend/ssa-to-rssa.fun:715                           0.01%
backend/backend.fun:319                               0.01%
<basis>/arrays-and-vectors/sequence.fun:214           0.01%
ssa/flatten.fun:124                                   0.01%
<unknown>                                             0.01%
ssa/flatten.fun:104                                   0.01%
ssa/constant-propagation.fun:868                      0.01%
ssa/analyze.fun:23                                    0.01%
ssa/useless.fun:117                                   0.01%
type-inference/infer.fun:980                          0.01%
../lib/mlyacc/parser2.sml:142                         0.01%
ssa/shrink.fun:911                                    0.01%
closure-convert/closure-convert.fun:531               0.01%
ssa/redundant.fun:227                                 0.01%
closure-convert/abstract-value.fun:190                0.01%
type-inference/scope.fun:121                          0.01%
ssa/restore.fun:355                                   0.01%
codegen/x86-codegen/x86-jump-info.fun:51              0.01%
ssa/useless.fun:652                                   0.01%
codegen/x86-codegen/x86-allocate-registers.fun:1176   0.01%
ssa/constant-propagation.fun:168                      0.01%
codegen/x86-codegen/x86.fun:56                        0.01%
backend/limit-check.fun:579                           0.01%
main/compile.sml:335                                  0.01%
front-end/ml.grm.sml:3850                             0.01%
ssa/inline.fun:50                                     0.01%
ssa/common-subexp.fun:104                             0.01%
ssa/direct-exp.fun:520                                0.01%
../lib/mlton/basic/directed-graph.sml:323             0.01%
codegen/x86-codegen/x86-simplify.fun:1284             0.01%
elaborate/elaborate-env.fun:431                       0.01%
ssa/known-case.fun:22                                 0.01%
type-inference/scope.fun:75                           0.01%
../lib/mlton/basic/layout.sml:106                     0.01%
codegen/x86-codegen/x86-allocate-registers.fun:1156   0.01%
ssa/simplify-types.fun:403                            0.01%
front-end/ml.grm.sml:2942                             0.01%
xml/polyvariance.fun:84                               0.01%
type-inference/scope.fun:360                          0.01%
../lib/mlton/basic/tree.sml:22                        0.01%
type-inference/nested-pat.fun:90                      0.01%
type-inference/infer.fun:967                          0.01%
ssa/contify.fun:179                                   0.01%
xml/xml-tree.fun:699                                  0.01%
codegen/x86-codegen/x86.fun:1507                      0.01%
backend/backend.fun:207                               0.01%
type-inference/match-compile.fun:200                  0.01%
../lib/mlton/basic/unique-set.fun:185                 0.01%
type-inference/infer.fun:357                          0.01%
front-end/ml.grm.sml:3261                             0.01%
codegen/x86-codegen/x86-simplify.fun:2685             0.01%
codegen/x86-codegen/x86-allocate-registers.fun:10797  0.01%
atoms/type-ops.fun:71                                 0.01%
ssa/contify.fun:636                                   0.01%
front-end/ml.grm.sml:2160                             0.01%
xml/xml-tree.fun:581                                  0.01%
control/control.sml:531                               0.01%
type-inference/match-compile.fun:330                  0.01%
ssa/constant-propagation.fun:392                      0.01%
closure-convert/abstract-value.fun:279                0.01%
xml/monomorphise.fun:198                              0.01%
codegen/x86-codegen/x86-translate.fun:694             0.01%
front-end/ml.grm.sml:3685                             0.01%
front-end/ml.grm.sml:3144                             0.01%
atoms/const.fun:20                                    0.01%
codegen/x86-codegen/x86-generate-transfers.fun:1791   0.01%
codegen/x86-codegen/x86-translate.fun:305             0.01%
codegen/x86-codegen/x86-translate.fun:203             0.01%
../lib/mlton/set/ordered-unique-set.fun:109           0.01%
ssa/simplify-types.fun:493                            0.01%
ssa/constant-propagation.fun:742                      0.00%
codegen/x86-codegen/x86.fun:3424                      0.00%
ast/field.fun:35                                      0.00%
front-end/ml.grm.sml:4287                             0.00%
<basis>/integer/int-inf.sml:624                       0.00%
ssa/multi.fun:353                                     0.00%
type-inference/match-compile.fun:49                   0.00%
front-end/ml.grm.sml:3537                             0.00%
<basis>/io/bin-or-text-io.fun:105                     0.00%
front-end/ml.grm.sml:4034                             0.00%
ssa/local-flatten.fun:43                              0.00%
forwardIfInNursery (C @ 0x8828480)                    0.00%
xml/implement-exceptions.fun:371                      0.00%
front-end/ml.grm.sml:3998                             0.00%
front-end/ml.grm.sml:3523                             0.00%
type-inference/type-env.fun:922                       0.00%
front-end/ml.grm.sml:3936                             0.00%
backend/limit-check.fun:275                           0.00%
xml/xml-tree.fun:698                                  0.00%
type-inference/infer.fun:401                          0.00%
xml/xml-tree.fun:740                                  0.00%
type-inference/infer.fun:786                          0.00%
atoms/type.fun:88                                     0.00%
elaborate/elaborate.fun:78                            0.00%
type-inference/infer.fun:443                          0.00%
type-inference/infer.fun:171                          0.00%
elaborate/elaborate-env.fun:951                       0.00%
front-end/ml.grm.sml:3076                             0.00%
backend/limit-check.fun:183                           0.00%
codegen/x86-codegen/x86-translate.fun:600             0.00%
ssa/constant-propagation.fun:87                       0.00%
ssa/common-subexp.fun:49                              0.00%
../lib/mlton/basic/string.sml:32                      0.00%
<basis>/io/bin-or-text-io.fun:690                     0.00%
type-inference/infer.fun:1072                         0.00%
elaborate/elaborate-env.fun:1031                      0.00%
type-inference/match-compile.fun:268                  0.00%
core-ml/core-ml.fun:399                               0.00%
front-end/ml.grm.sml:2224                             0.00%
elaborate/elaborate-core.fun:97                       0.00%
ssa/restore.fun:193                                   0.00%
ast/ast-atoms.fun:48                                  0.00%
backend/backend.fun:248                               0.00%
<basis>/system/path.sml:98                            0.00%
front-end/ml.grm.sml:3559                             0.00%
ssa/simplify-types.fun:240                            0.00%
codegen/x86-codegen/x86.fun:1105                      0.00%
type-inference/scope.fun:41                           0.00%
elaborate/elaborate-core.fun:313                      0.00%
main/main.sml:411                                     0.00%
closure-convert/abstract-value.fun:298                0.00%
type-inference/match-compile.fun:221                  0.00%
front-end/ml.grm.sml:2480                             0.00%
front-end/ml.grm.sml:2187                             0.00%
front-end/ml.grm.sml:3926                             0.00%
core-ml/lookup-constant.fun:67                        0.00%
ssa/simplify-types.fun:277                            0.00%
ssa/redundant-tests.fun:316                           0.00%
codegen/x86-codegen/x86-generate-transfers.fun:1319   0.00%
backend/ssa-to-rssa.fun:249                           0.00%
front-end/ml.grm.sml:2580                             0.00%
main/main.sml:428                                     0.00%
ssa/simplify-types.fun:426                            0.00%
front-end/ml.grm.sml:3662                             0.00%
ssa/known-case.fun:451                                0.00%
<basis>/integer/word.fun:25                           0.00%
front-end/ml.grm.sml:3786                             0.00%
type-inference/scope.fun:316                          0.00%
backend/machine-atoms.fun:157                         0.00%
elaborate/elaborate-env.fun:1229                      0.00%
type-inference/infer.fun:338                          0.00%
../lib/mlyacc/parser2.sml:265                         0.00%
front-end/ml.grm.sml:3973                             0.00%


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel