[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