On Tue, Aug 15, 2023 at 04:33:04PM +0200, Emanuel Berg wrote: > Po Lu wrote: > > >> Are we talking 1 word = 2 bytes = 16 bits here, s2c? > >> > >> If so, the range of fixnums are -32 768 to 32 767 > >> inclusive, so those are hardly huge numbers. > > > > Under Arm64, general purpose integer registers are 64 bits > > wide. That is also the word size of said machine. > > If they are, the range for fixnums is > > (list (* -1 (expt 2 (1- 64))) > (1- (expt 2 (1- 64))) ) > > (-9223372036854775808 9223372036854775807) > > Only after that it gets slower :P Unless SBCL uses tagged object representation. Unless the compiler can prove that some "thing" is going to be an int. Unless... Cheers -- t