[racket] shootout package

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue Dec 21 15:58:51 EST 2010

Jon Rafkind wrote at 12/21/2010 03:25 PM:
> So what does COST and COST-GCMS mean? And what does it mean when they are negative?

As the documentation implies, only the "RUN" and "RUN-GCMS" numbers are 
very meaningful in this version.  They are, respectively, "how many ms 
did the iterations take to run, not counting any lingering GC cost 
afterwards" and "how many ms of GC occurred during those iterations, and 
I proclaim that I am aware that this number can be off due to fixnum 
arithmetic overflow, and I will call the unit gcms so that I do not forget."

You can see from the code that it was trying to estimate how much GC 
cleanup cost is left after the iterations are run, to include in a 
metric of the total cost of an expression.  When I wrote this macro 
yesterday, I intended that "COST" be the most important number, but it 
didn't actually work, so it has been pushed off to the side.  I left the 
number in so that I could keep an eye on it as I use this macro and 
perhaps notice a way to produce a useful metric out of it.

This is what I get for trying to push out code when I write it, rather 
than letting it sit around for years until I have time to finish it.  I 
have just spent a few days restoring my unreleased, years-old XML and 
URI libraries from bit-rot, and was trying to avoid that. :)


Posted on the users mailing list.