help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Memory limits?


From: Derek Zhou
Subject: Re: Memory limits?
Date: Mon, 21 Sep 2020 10:10:12 -0400
User-agent: mu4e 1.2.0; emacs 27.0.91

Thomas Worthington writes:
>
> The test box has 8G of RAM and the system I want to run it on has 680GB of 
> RAM, so it would be nice to be able to use it. Is there some hard-coded limit 
> in the source which I can lift or am I stuck? Or just missing something?

Are you using a lot of objects? GNU smalltalk has a OOP_TABLE which is
limited in size by default:

libgst/oop.h:

/* The number of OOPs in the system.  This is exclusive of Character,
   True, False, and UndefinedObject (nil) oops, which are
   built-ins.  */
#define INITIAL_OOP_TABLE_SIZE  (1024 * 128 + BUILTIN_OBJECT_BASE)
#define MAX_OOP_TABLE_SIZE      (1 << 23)

So the OOP_TABLE has an initial size of 128K items and will only grow as
high as about 8M items. The limit can be lifted by editing the source
but I am not sure what else could be the next limit.

On top of that, the generational GC engine that GNU Smalltalk does not
handle very large object very well.

Anyway, if you really have to use more than a few millions of objects or
multiple gigabytes of memory for your application, GNU Smalltalk is not
the best tool.

Derek




reply via email to

[Prev in Thread] Current Thread [Next in Thread]