It seems a good thing for the most common (desktop) use cases. https://sites.google.com/site/x32abi/ Probably report your interest/ideas here. Some mainstream distros are starting to support it (Gentoo, Debian), so pushing it to nixpkgs should not be so much work.
Any benchmarks for common use cases?
https://lwn.net/Articles/548838/
While the higher performance (compared to x86 and x86_64) in every (perhaps contrived) benchmark is nice, it's especially the far lower memory footprint that interests me.
RAM isn't cheap with most cloud/VPS providers.
The only significant difference against x86_64 are 4-byte pointers (and "long" C type), which can increase speed due to saving cache space (but that IMO depends on particular case a lot). It's speculated that VMs like python and haskell would have larger benefits, as they maintain lots of pointers. I could find almost no benchmarks, though (e.g. a few days ago someone using it on debian wrote it is faster, but this is all quite vague).
(triage) To we already have that?
We don't, but x32 doesn't seem really worth the effort in this general-purpose nixpkgs case. Maybe for particular packages or use cases. It would take lots of resources to maintain (whole) nixpkgs for yet another "platform".
Thanks for pinging me; I recently remembered I wanted to close this, but I wasn't at a computer at that time and forgot afterwards.
After @Ericson2314 efforts for cross-compilation, it might be much easier to add x32 as target platform.
At least for some packages.
I'd like to compare performance of pkgs.varnish and pkgs.pkgsx32Linux.varnish :)
Also, I have seen that some people install pkgs.pkgsi686Linux.firefox to save memory.
Having pkgs.pkgsx32Linux.firefox would be a nice alternative.
32-bit firefox does save memory noticeably, which is why I commonly used it on my 4GiB-RAM systems (I have more RAM now); IIRC it/upstream didn't support x32abi when I last checked (perhaps most hopeful link).
I do want to have hydra.nixos.org cross compile the whole world to some platform, say post 17.09. Doesn't really matter what the target platform is, so this could be it.
@Ericson2314 BTW, is it currently possible to build an aarch64 system closure (for scaleway) on x86_64-linux? Last time I tried it was not possible without run some builds on aarch64
@volth like a minimal NixOS system? I haven't tried. Also, currently cross compilation is fairly broken pending https://github.com/NixOS/nixpkgs/pull/26805.
yes.
ah, sorry, I expected that #26805 is already merged (there were issues with propagatedBuildInputs and I mistakenly connected them with merge of #26805 and remembered as though the cross-compilation is already here)
Heheh, I wish it was! But still getting the stdenvs to build, and then I need to rewrite the docs, and finally others need to review.
It seems that with the latest progress in cross-compilation it would be cheap and trivial to add pkgsCross.x32