[gambit-list] Problem with heap-size
Hans Petter Egesund
petter.egesund at gmail.com
Thu Aug 14 11:32:36 EDT 2008
Yes, you are right. Another reason to change to 64-bit.
Thanks,
Petter
Den 14. aug. 2008 kl. 15.51 skrev Marc Feeley:
>
> You are probably using a 32 bit processor. Gambit represents
> Scheme objects with a 32 bit header containing 3 bits for the GC, 5
> bits for the type information, and 24 bits for the length of the
> object in bytes (max object size = 16MB). Gambit tables are
> objects which consume 8 bytes per entry (including inactive
> entries). So on a 32 bit processor, tables are limited to 2*10^6
> entries. Your second call to doit tries to create a table with (at
> least) 10*10^6 entries, which is impossible.
>
> The error message is perhaps a bit confusing... I'll see if this
> can be improved. Others have been similarly confused. I'm
> thinking of redesigning Gambit's memory allocator (mainly to have a
> better GC) so I may remove this limitation in the process.
>
> Solution for now? Get a machine with a 64 bit processor (the 64
> bit header will have 56 bits for the object length, which should be
> sufficient!).
>
> Marc
>
> On 14-Aug-08, at 9:11 AM, Hans Petter Egesund wrote:
>
>> Hi, thanks for open-sourcing such a cool Scheme!
>>
>> I am testing out how to make a large table, but have problems with
>> heap-size:
>>
>> (define t (make-table))
>>
>> (define (doit x x-max)
>> (if (<= x x-max)
>> (begin
>> (table-set! t (number->string x) x)
>> (doit (+ x 1) x-max))))
>>
>>
>> (doit 1 1000000) works fine and is fast as well.
>> (doit 1 10000000) runs out of heap-space, which is probably not that
>> strange.
>>
>> I try to increase the heap, but still can't store any more records (I
>> start gsi with parameter gsi -m:3000000 and/or gsi -h:3000000).
>>
>> I have also compiled the program with gsc, and started the program
>> with a larger heap, but the problem remains. If I try to allocate to
>> much memory (like 5 GB on my 4 GB machine), the programs gives me an
>> error msg, so it seems the heap is actually allocated?
>>
>> Any clues?
>>
>> Cheers,
>>
>> Petter Egesund
>> _______________________________________________
>> Gambit-list mailing list
>> Gambit-list at iro.umontreal.ca
>> https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
>
More information about the Gambit-list
mailing list