latest contify.fun

Stephen Weeks MLton@sourcelight.com
Thu, 22 Feb 2001 14:12:24 -0800 (PST)


> Here's the revised contify.new.fun.  No linear lookups for any addEdge.  I
> also tweaked the transform code, to process the nodes as part of the dfs,
> rather than building a todo list and then immediately processing it.

Much better.  Here are the self-compile timings for the three contify passes,
with gc split out.

	pass 1		pass 2		pass 3
		gc		gc		gc
	-----------	-----------	-----------
old	1.41 + 2.15	0.89 + 0.00	1.38 + 1.60
new	2.41 + 4.16	1.57 + 0.98	1.85 + 1.47

Basically, it looks like the transform is about the same speed as the old one,
and we're just paying a bit more for the analysis.  Looks good to me.

> Well, I'm leaving addEdge' in.  If the graphs still seem to big, we can
> try using it in some places.

I was running with gc-messages, and the amount live during the gcs looks fine -- 
no discernable difference between the two.

Here's the raw data I used to compute the above numbers.

old
--------------------
	 contify starting
/tmp/fileZXrFxD.36.S 14226: GC
Starting gc.
fromSpace 225,239,040  toSpace 225,239,040
Finished gc.
time(ms): 2,150
live(bytes): 58,635,128 (26.0%)
	 contify finished in 3.560
	 contify starting
	 contify finished in 0.890
	 contify starting
/tmp/fileMGxauv.24.S 2380: GC
Starting gc.
fromSpace 225,239,040  toSpace 225,239,040
Finished gc.
time(ms): 1,600
live(bytes): 42,866,444 (19.0%)
	 contify finished in 2.980

new
--------------------
	 contify starting
	    analyzeCall starting
	    analyzeCall finished in 0.080
	    analyzeCont starting
	    analyzeCont finished in 0.090
	    analyzeDom starting
	       buildGraph starting
	       buildGraph finished in 0.120
	       computeDominators starting
/tmp/fileLMlOdy.36.S 8855: GC
Starting gc.
fromSpace 224,886,784  toSpace 224,886,784
Finished gc.
time(ms): 1,980
live(bytes): 56,861,120 (25.3%)
	       computeDominators finished in 2.420
	       compute ADom starting
	       compute ADom finished in 0.030
	    analyzeDom finished in 2.610
	    diagnostics starting
functions: 9919
  call_cont_dom: 3352  call_cont: 0
  call_dom: 869  cont_dom: 334
  call: 0  cont: 0  dom: 205
  rem_call_cont_dom: 1003  rem_call_cont: 0
  rem_call_dom: 0  rem_cont_dom: 0
  rem_call: 0  rem_cont: 0  rem_dom: 0
	    diagnostics finished in 0.010
	    transform starting
/tmp/fileQn5Jev.33.S 1096: GC
Starting gc.
fromSpace 224,886,784  toSpace 224,886,784
Finished gc.
time(ms): 2,180
live(bytes): 64,474,188 (28.7%)
	    transform finished in 3.470
	 contify finished in 6.570

	 contify starting
	    analyzeCall starting
	    analyzeCall finished in 0.050
	    analyzeCont starting
/tmp/file0UmGa6.25.S 10182: GC
Starting gc.
fromSpace 224,886,784  toSpace 224,886,784
Finished gc.
time(ms): 980
live(bytes): 25,764,244 (11.5%)
	    analyzeCont finished in 1.050
	    analyzeDom starting
	       buildGraph starting
	       buildGraph finished in 0.080
	       computeDominators starting
	       computeDominators finished in 0.320
	       compute ADom starting
	       compute ADom finished in 0.010
	    analyzeDom finished in 0.450
	    diagnostics starting
functions: 4145
  call_cont_dom: 423  call_cont: 0
  call_dom: 4  cont_dom: 8
  call: 0  cont: 0  dom: 3
  rem_call_cont_dom: 0  rem_call_cont: 0
  rem_call_dom: 0  rem_cont_dom: 0
  rem_call: 0  rem_cont: 0  rem_dom: 0
	    diagnostics finished in 0.0
	    transform starting
	    transform finished in 0.820
	 contify finished in 2.550

	 contify starting
	    analyzeCall starting
	    analyzeCall finished in 0.060
	    analyzeCont starting
	    analyzeCont finished in 0.070
	    analyzeDom starting
	       buildGraph starting
	       buildGraph finished in 0.080
	       computeDominators starting
/tmp/file6KF1jh.31.S 3808: GC
Starting gc.
fromSpace 224,886,784  toSpace 224,886,784
Finished gc.
time(ms): 1,470
live(bytes): 40,012,180 (17.8%)
	       computeDominators finished in 1.710
	       compute ADom starting
	       compute ADom finished in 0.0
	    analyzeDom finished in 1.810
	    diagnostics starting
functions: 1024
  call_cont_dom: 1  call_cont: 0
  call_dom: 0  cont_dom: 0
  call: 0  cont: 0  dom: 0
  rem_call_cont_dom: 0  rem_call_cont: 0
  rem_call_dom: 0  rem_cont_dom: 0
  rem_call: 0  rem_cont: 0  rem_dom: 0
	    diagnostics finished in 0.0
	    transform starting
	    transform finished in 1.170
	 contify finished in 3.320