contification paper
Stephen Weeks
MLton@sourcelight.com
Thu, 8 Mar 2001 13:28:44 -0800 (PST)
--t09JBfieEl
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit
> > I put my latest MLton snapshot at http://www.star-lab.com/sweeks/src.tgz
> > It's not substantially different from what you have, but it does include the
> > code to split timings into gc and non-gc portions, which might be useful for
> > numbers we report in the paper.
>
> The gc and non-gc timings are nice. One thing I discovered was that
> occassionally, I get a uncaught Time exception.
Scary. I've never seen this.
> I think it arises from
> the Time.-, when the times are so close that the difference is negative --
> is that even possible?
The only functions that raise Time are
Time.{-,fromMicroseconds,fromMilliseconds,fromSeconds,fromReal}
The only one that seems to be used in an interesting way in MLton is Time.-
But it's only called with times returned by Posix.ProcEnv.times and
MLton.GC.time, both of which should be nondecreasing functions as time passes.
Both come from the C "times" function. Henry, do you know of any case where
the values return by times can decrease?
I guess the thing to do is to put a little wrapper around Time.- within
control.sml that checks before calling Time.-, and returns 0 if its first arg is
< its second arg (probably also should print a warning message for now so we can
confirm that is the problem).
> > I hadn't actually tried them, but I definitely wanted to include hamlet, because
> > it's a big one. Here they are.
>
> Here are the results for hamlet. A nice one for the dom analysis. I
> don't know about the runtimes; the hamlet-input.sml that I wrote
> apparently had some syntax error or something, because all the runtimes
> came out as 0.0.
Sorry about that. hamlet is very picky. Here's the input file I use.
--t09JBfieEl
Content-Type: application/octet-stream
Content-Disposition: attachment;
filename="hamlet-input.sml"
Content-Transfer-Encoding: base64
ZGF0YXR5cGUgdCA9IFogfCBTIG9mIHQ7CnZhbCB6ZXJvID0gWjsKdmFsIG9uZSA9IFMgemVybzsK
dmFsIHR3byA9IFMgb25lOwp2YWwgcmVjIGFkZDogdCAqIHQgLT4gdCA9IGZuIChaLCBuKSA9PiBu
IHwgKFMgbSwgbikgPT4gUyAoYWRkIChtLCBuKSk7CnZhbCByZWMgbXVsOiB0ICogdCAtPiB0ID0g
Zm4gKFosIG4pID0+IFogfCAoUyB6LCBuKSA9PiBhZGQgKG4sIG11bCAoeiwgbikpOwp2YWwgZm91
ciA9IG11bCAodHdvLCB0d28pOwp2YWwgcmVjIGV4cDogdCAqIHQgLT4gdCA9IGZuIChuLCBaKSA9
PiBvbmUgfCAobiwgUyBtKSA9PiBtdWwgKG4sIGV4cCAobiwgbSkpOwp2YWwgXyA9IGV4cCAoZXhw
IChmb3VyLCBmb3VyKSwgdHdvKTsK
--t09JBfieEl--