[plt-scheme] 3m

From: Will Farr (farr at mit.edu)
Date: Tue Jun 27 13:57:03 EDT 2006

> Whether we actually shift depends on a couple of factors. First, we
> have to make sure that 3m is stable and well-tuned; although I use 3m
> most of the time, my tasks form a small subset of what the people on
> this list do. We are gradually widening the circle of people who use
> 3m, and you are certainly welcome to become part of that group.

I am a constant 3m user (I develop in DrScheme3m because of the fact
that 3m gives memory back to the OS when it's no longer needed), and I
write a lot of numerical and semi-numerical code.  Coincidentally, I
was timing the running of a test-suite for some code for functional
differential geometry (see
http://wmfarr.blogspot.com/2006/06/functional-differential-geometry-in.html
) under mzscheme and mzscheme3m yesterday.  Here's the result (Mac OS
10.3.9, PowerBook G4 800 Mhz):

CSR-DYN-69:~/Documents/Research/SchemeCode farr$ time mzscheme -u "run-tests.ss"
48 success(es) 0 failure(s) 0 error(s) 48 test(s) run

real    0m46.768s
user    0m34.850s
sys     0m0.400s

CSR-DYN-69:~/Documents/Research/SchemeCode farr$ time mzscheme3m -u
"run-tests.ss"
48 success(es) 0 failure(s) 0 error(s) 48 test(s) run

real    0m47.782s
user    0m30.480s
sys     0m2.730s

So 3m is about 10% faster on the same code (compiled to bytecode
before running the tests, then JITed upon load).  I'd say that's
pretty well tuned.

Generally, the type of code I use is probably biased toward 3m anyway:
I do a lot of numerics, which tends to generate a lot of junk (stuff
that becomes garbage almost immediately after allocation)---probably
more of it, and faster, than average.  As I understand it, 3m will
beat CGC for this type of application.

Just thought you might appreciate some hard numbers, since I had some
handy, and a testimonial from a happy 3m user.

Will


Posted on the users mailing list.