[MLton-devel] allocation profiling a self compile

Stephen Weeks MLton@mlton.org
Sat, 2 Nov 2002 18:24:43 -0800


For a real stress test of allocation profiling, I just profiled a self
compile.  Here are the results.

The text+data size of an unprofiled mlton-compile is 7,701,697, while
the text+data size of a profiled mlton-compile is 9,201,809, which is
about a 20% code size hit.  Due to all the debugging info, the actual
size of the profiled executable is 41,694,562 bytes.

The mlmon.out file is only 112,184 bytes.  Sparsity is good!

For the profiled compiler compiling itself, here are the allocation
stats.

% mlprof -thresh 1 mlton-compile mlmon.out
23,073,120,572 bytes allocated
compress_1          6.97%
computeEdges_0      4.48%
toLiveness_0        3.54%
simplifyBlock_0     3.24%
chooseRegister_0    2.73%
post_5              2.40%
x_13364             2.39%
pre_1               2.22%
toX86Operand_0      2.06%
doitTree_0          2.02%
layout_123          1.96%
visit_16            1.80%
moveHoist_0         1.77%
makeContents_0      1.68%
construct_2         1.67%
allocateRegisters_1 1.40%
contents_0          1.39%
monoVar_0           1.34%
x_48770             1.34%
simplifyDecs_0      1.24%
loop_2807           1.21%
layout_129          1.12%
toRegisterMemLoc_0  1.08%
labelMeaning_0      1.04%
x_52649             1.03%
translateChunk_0    1.03%
layout_125          1.01%
uses_defs_kills_0   1.01%

I took a look at compress_1, and all the allocation is in a list
concatenation.


-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm 
Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel