Martin Gregorie writes:
> In this case the only likely effect is that compiled executables will be
> a bit bigger because a 64 bit pointer is 8 bytes compared with 4 for a 32
> bit pointer and will run a bit slower because (I think) the 64 bit
> pointer will need two fetches compared with one for a 32 bit pointer.
They’ll take more space in cache, though how much that matters depends
on other locality characteristics of your workload. Anything that hits
main memory is so slow it’s not funny, and although while I don’t know
about the Pi3 in particular, ‘two fetches for a 64-bit quantity’ is not
necessarily an accurate model: 64-bit data busses and burst fetching in
units of cache lines rather than words have been common for ages.
> And, seeing that a 31 bits is a bigger address space than there is RAM on
> an RPi3 (4GB address space, 1GB RAM less that used by the GPU and screen
> buffer), using 64 bit pointers gains you nothing.
The advantages that applies even to small working sets are that there is
more room for ASLR and other address-space security tricks, and (in both
ARMv8 and x86-64) more architectural registers to play with.
Personally the reason I’m waiting for a low-hassle 64-bit OS before
getting a Pi3 is that I want to acquire some familiarity with ARMv8
assembler.
--
https://www.greenend.org.uk/rjk/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|