[plt-scheme] Quick comparison MzScheme3m vs Scsh
I was deciding on which scheme implementation to use for an embedded
project.
I ran a quick test to see the cpu and ram footprints of MzScheme3m
and Scsh,
here are the results:
Resources used at launch time.
PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU
COMMAND
6571 jvargas 2 0 4384K 3644K sleep select 0:00 0.00%
mzscheme3m
10652 jvargas 2 0 20M 5188K sleep select 0:00 0.00% scshvm
Now lets do some testing, how about the factorial of 10000. I am
going to
use a (apply * (iota 10000 1)). In mzscheme I need to load srfi-1, which
increases the footprint a bit.
PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU
COMMAND
6571 jvargas 2 0 5908K 4348K idle select 0:00 0.00%
mzscheme3m
Lets see what happens when we run the test.
PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU
COMMAND
6571 jvargas 2 0 8032K 7308K sleep select 0:01 2.49%
mzscheme3m
29908 jvargas 64 0 19M 20M run - 18:22 99.02% scshvm
Not only mzscheme3m use less ram, it also finish a lot faster, 1100
times
faster. This is a pleasant surprise! And I now know which tool to use
for
my project.
I know this is not a really serious benchmark, but just the small memory
requirements of mzscheme are enough for my decision. Kudos to the PLT
team!
--
Jaime