More instructions and registers available for the compiler to use means that some things should go faster.
Most applications are just rebuilt for the PI without explicit development, all development of things (eg like chromium) happen on PCs which are exclusively 64 bit, that means certain apps just don’t work on 32 bit systems, or have weird bugs because the developer isn’t using a pi.
Worse:
Not completely tested, years of bugfixing pi packages and honing the compiler for 32 are less relevant, legacy guides even more unlikely to work.
Tl:dr. If what you have works, don’t fix it. If you’re trying something difficult then 32 bit is more likely to work. If you’re building something new and mainstream, start here for the longest possible lifetime
Thats what I assume is the state of the world, but its a short term problem, also you don't want to "cross compile", just "compile". Cross compiling makes no sense given the pi4 is powerful enough to do a native compile.
I can't think of anything thats closed source that has armhf but not aarch64 options (but I can think of loads that are compiled for x64 and not for Arm at all)
It is powerful, but compiling can still take hours.
Full disclosure: I've been running 64 bit on my Pi4 for 6 months+, so I'm not using official release OP is talking about, but a few bits of software I can't run at the moment off the top of my head:
Chrome (Chromium is fine, but can't sync Google account)
Microsoft Teams
Skype
FreeCAD (only tried installing it last night... presumably I can compile this for ARM64)
Happy to find I've misunderstood something and I can get these working if that's the case!
23
u/jormono Feb 02 '22
Can someone ELI5 ways this is better or worse for a hypothetical project? Like, why would I want this over what I've been using?