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.
kazinator|3 years ago
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.