running out of memory?

Ralph Boland rboland at porchlight.ca
Sun Dec 14 08:37:34 UTC 2003


I am constructing finite state machines from regular expressions
and some of the FSMs are large as in 10,000 to 20,000 states,
when the FSMs get this large I run into severe performance problems.
For example the debugger is almost impossible to use since it is
so slow.
I assume that I am running out of memory but:

1) I have 256M of memory which seems to me to be lots to store
    20,000 states plus all the information needed to construct them
    all the way back to the tokens from the parser of the regular
    expression (all of which are actually still around).

2) When I used Smalltalk many years ago (not Squeak) there used to be a 
different
    mouse location icon when memory compaction is occurring.  I never
    see this icon now, even when I have an infinite recursion situation.
    In this situation I do get a memory low warning just as the system
    hangs.  (The warning doesn't fit in the window and I can't scroll
    it because I am then hung!).

3) One possibility is that Smalltalk is not using all of the available
    memory.  If this is the case how do I check the amount of used
    memory and the amount of free memory and how do I change the amount.
    Are there guidelines for setting this amount.  e.g. X megabytes plus
    Y percent of the memeory should be left for the operating system.
    (I am running Smalltalk on Linux and don't usually run anything
     else at the same time unless I happen to go on the internet.

    When I am in this situation I know to do a "command .".  However is
    there not a more extreme command to execute if  "command ." fails
    to do an interupt?

   Thanks in advance.

    Ralph Boland




More information about the Squeak-dev mailing list