D. Hugh Redelmeier wrote:
From: Andre via Talk <talk@lists.gtalug.org>
Assuming you are using rpi zero w 2, why use 32bit arm binaries (or maybe OS as well)... any specific use case? i'm running 64bit Alpine: My recollection is that 64-bit ARM machine code is significantly less dense that 32-bit ARM code. If you are short of memory, this may matter.
On RPi 3, if I remember correctly, 64-bit performance was worse than 32-bit performance.
If your processes are less that 3GiB, 64-bit pointers are only a waste.
That's the thing. interwebs "recommends" 32bit OS on 4GB or less as an example, rpi w 2 (armv8 CPU and 512MB memory) and have followed the dogma too for years. Stumbled last year an old benchmark from phoronix where it shows 64bit faster: https://www.phoronix.com/review/raspberrypi-os-64bit Did my own quick and very rudimentary test, alpine linux or raspbian 64bit is indeed faster than raspbian 32bit. Complicating matters is even though rpi w 2 is armv8, raspbian 32 OS kernel is compiled as armv6 which could be the reason for the slower performance. 64bit systems will increase memory usage by 20-40MB which is a reasonable use case for me as i used it as a headless server for chrony and adguard home for blocking ads home wide. I know it's counter intuitive, Implementing compressed zstd swap in memory, is like adding roughly free 100MB RAM on top of 512MB. Sample below on my live system: # free -m total used free shared buff/cache available Mem: 465 167 286 1 11 287 Swap: 500 344 156 Moved away from 32bit for peace of mind because of the Epochalypse 2038 time and not that it matters, a lot of docker containers doesn't even have 32bit armv6 images, like portainer. That's all i can think of, there maybe other compelling reasons not to use 32bit. /Balrog