[M3devel] INTEGER and LONGINT on 64-bit systems
Darko
darko at darko.org
Wed Aug 8 15:30:22 CEST 2007
This might make sense as a platform option (ie where more than one
platform config is available), where 32 bit integer performance is
better, or you want to save memory. But INTEGERs are fairly
fundamental. For instance, you might actually legitimately want to
allocate an array bigger than 4Gb on a 64 bit machine, but NUMBER
wouldn't work on it.
Will a integer subrange of a 64 bit INTEGER get handled by the back
end as efficiently as a 'natively' defined 32 bit integer which is
logically defined as a subrange?
On 08/08/2007, at 5:59 AM, Tony Hosking wrote:
> Now I've checked in the LONGINT extensions, I am wondering if we
> shouldn't observe the following protocol for mapping INTEGER and
> LONGINT to C types. Currently, we have the following:
>
>
> 32-bit targets 64-bit targets
>
> INTEGER 32 bits 64 bits
> LONGINT 64 bits 64 bits
> C long int 32 bits 32 bits
> C long long 64 bits 64 bits
>
> I wonder if we shouldn't simply identify INTEGER as 32-bit and
> LONGINT as 64-bit on all targets. That way, INTEGER=long int and
> LONGINT=long long.
>
> Comments?
>
More information about the M3devel
mailing list