top | item 32875591

(no title)

xfer | 3 years ago

Is that a good trade-off sacrificing fixnum bits? I guess it would make sense when the language is intended for scientific programming.

discuss

order

kazinator|3 years ago

Hard to say. It hurts in the compiler which uses integer bitmasks for register sets. Fewer registers are handled without boxing. But I see hardly any difference in the library compile time.

fixnum-max is 562949953421311, which is still astronomically large. It can represent 5.6 trillion dollars, in integer cents. We could do the accounting of some large multi-nationals in fixnums.

We will never need an array index that cannot fit into this. (Proof: pointers are 48 bits under this scheme, so using positive integers, we can enumerate every nybble.)

We can seek 562 terabytes into a file, which doesn't seem too shabby.

There are situations in which having anything less than the full 64 bits in the integer hurts, like externally imposed bitfields and masks.