I suspect mostly the latter, with a little bit of the former mixed in
for good measure. I'm pretty sure the GC algorithm is different on
Windows, though I can't remember the details now.
Any chance you could show us the relevant code? Maybe we could help you
with the memory footprint in general.
From: Rick Nooner [mailto:firstname.lastname@example.org]
Sent: Tuesday, August 16, 2005 3:01 PM
To: ruby-talk ML
Subject: Ruby on Unix vs. Windows
Yesterday at work we took an analysis program written in ruby
that we had been running on a Solaris box (Sunblade 1500, 1
Gig RAM, 1.5 Ghz Sparc) and moved it to a windows box (HP
D530, 1 Gig RAM, 2.8 Ghz Pentium) to do performance comparisons.
The analysis builds a profile in memory of over 3.6 GB of
data on disk. On the Solaris box, it takes about 35 mins and
uses about 700 MB of RAM. It would not complete on the
windows box using the full data set, bombing with "failed to
allocate memory (NoMemoryError)". There was nearly 800 MB of
RAM free on the windows box as well as having a 4 Gig swap available.
Is windows that inefficient with memory allocation or is this
a ruby implementation issue on windows?