[racket] DrRacket never uses more than 1 GB?

From: Greg Hendershott (greghendershott at gmail.com)
Date: Wed Jul 14 18:22:16 EDT 2010

Good news, I found and fixed my memory over-consumption, albeit the hard way.

Some take-aways:

[1] I remain convinced that DrRacket won't use > 1 GB for on Win64.
[2] It would be great to see DrRacket as a full 64 bit app on Windows
and Mac OS X someday.
[3] The intended use of Limit Memory and its interaction with actual
memory available from the OS, could use some better doc/explanation.
It will suggest you increase its limit when you hit, but on the list
I'm learning that can backfire, and anyway I've seen the limit ignored
... basically it's all pretty confusing.
[4] More memory debugging tools would be helpful, as it's non-trivial
to correlate Racket data to bytes (e.g. no C-style sizeof).
[5] I learned that some of you seemingly don't use the DrRacket
environment very much, yourselves? :)
[6] Speaking of DrRacket and debugging, the debugger needs an option
to limit the display of large items; otherwise DrRacket becomes very
unresponsive and stepping in the debugger can take many, many seconds
between each step. Debugging = pain is the wrong lesson to teach new
folks IMHO.
[7] Although DrRacket is already a good "IDE", many people know stuff
like Eclipse and Visual Studio, and this is a big part of the
experience of the "language" and important for broader acceptance
(assuming that's a priority?).

Sorry if that's a random brain-dump but I hope it may be helpful. Also
I hope it's clear that if I didn't like Racket I wouldn't bother
offering the feedback, so although this may not feel like a
compliment, indirectly it is. :)


On Tue, Jul 13, 2010 at 8:40 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> On Tue, Jul 13, 2010 at 6:39 PM, Greg Hendershott
> <greghendershott at gmail.com> wrote:
>> OK mister smartypants. :)
> Indeed! :)
>> I set the limit back to 1024 MB.
>> And ... it crashed again DrRacket again.
> That limit is probably high enough to be ineffective as an actual
> limit. I don't understand the precise connection between what
> current-memory-use reports and what the OS says that a process is
> using, but you want to use the numbers for the former, not the latter.
>> Just like it did back when I decided to try setting it to "unlimited"
>> in the first place, to avoid this happening.
>> Seriously, is the idea that users are supposed to:
>> [1] Understand the maximum memory for their system. (Which isn't
>> documented, but on Win64 is 2 GB ... unless it is actually 1 GB.)
>> [2] Set the DrRacket memory limit to whatever value they guessed in step 1.
>> [3] Watch DrRacket abend and lose their work, anyway?
>> I'm not trying to be a PITA, I genuinely don't understand the intended usage.
>> Also I guess I'm frustrated that I have a memory utilization issue
>> which is my own darn fault, but I have no clear mental model, yet,
>> what the heck is happening and how to track it down. In which regard I
>> suppose I feel like an Alan Perlis punch-line: A programmer who knows
>> the value, and actually DOES want to understand the cost ... but
>> can't. Like, if I have to ask the price, I can't afford it ... ?
> ha!
> IMO, we are missing good memory debugging tools, but this is a big
> project so likely you'll have to stick with what we have so far.
> If you build with one of the alternate collects (sgc?) you can get a
> fair amount of memory debugging information. Its pretty low-level and
> there is no visualization to help you understand, but if you are
> careful and think hard about what it is telling you, you might be able
> to get some use out of it.
> Robby

Posted on the users mailing list.