Dear Marc,

Gambit on 32bit architectures suffer badly of the limitations on maximum string, vector and also fixnum sizes.

For some uses, this is more than enough as reason to disqualify 32bit architecture use altogether.


A thought struck me the other day - the reason for those low limits on 32bit architectures, is that Gambit delivers the native integer/pointer size of the underlying architecture, and that leads to those limitations because of how Gambit's type system is built. You could say that the overarching reason is speed.

My thought is, if a given user would like to take the speed argument out of the equation,

Would it be possible for you to easily provide a "forced 64bit word" compilation mode for Gambit, hence lifting the string, vector and fixnum size limits far beyond their current ones of 4M-chars, 16MB u8vector, and is it 2^29 as max fixnum value.

(The string and u8vector limits are the central concerns really.

The effect on fixnum would be higher speed of computation in the 2^29..2^61 interval at the cost of slightly lower speed in the 0..2^29 interval.)

This would only be relevant to run on some fairly standard architecture and platform.


If the tweak would be possible, would Gambit's total live objects be able to amount to 2GB or 4GB, or how much?

Thanks!