3 ms·
x32 ABI support exists at least in the kernel of Debian (and Debian based) distributions, and I know because I've built Python versions (along with everything e
by tzot 2y ago
x32 ABI support exists at least in the kernel of Debian (and Debian based) distributions, and I know because I've built Python versions (along with everything else needed for specific workloads) as x32 executables. The speed difference was minor but existing, but the memory usage was quite a lot decreased. I've worked with a similar ABI known as n32 (there was o32 for old 32, n32 for new 32 and n64 for fully 64-bit programs) on SGI systems with 64-bit capable MIPS CPUs; it made a difference there too.
Unfortunately I've read articles where quite-more-respected-than-me people said in a nutshell “no, x32 does not make a difference”, which is contrary to my experience, but I could only provide numbers where the reply was “that's your numbers in your case, not mine”.
Amazon Linux kernel did not support x32 calls the last time I tried, so you can't provide images for more compact lambdas.
- zh3 2y agoIndeed, for many years we've been running multiple systems with X86_64 kernels and a 32-bit userspace, running many standard 32-bit applications (including browsers); only thing we've ever needed to do is run 'linux32' before starting X so that 'uname' reports i686 rather than x86_64.
- martijnvds 2y agoThe X32 ABI is not the same as the 32-bit mode used to run "i686" binaries on x86_64 (that would be the i386 ABI).
- zh3 2y agoThanks for the correction, having a read of the wikipedia x32 ABI [0] page now. [0] https://en.wikipedia.org/wiki/X32_ABI https://en.wikipedia.org/wiki/X32_ABI
- gregw2 2y agoFor the curious, "x32" Linux is a "L64P32" programming model. There is some lwn.net 2012 commentary on performance implications at: https://lwn.net/Articles/503541/ https://lwn.net/Articles/503541/
- marcosdumay 2y agoI don't know where you get that "it makes no difference" opinion. Back then when the VPSes you could rent had 256MB of RAM or some times even 128MB, it was common knowledge that using a 32 bits distro would have a huge impact on your memory usage. Maybe you are reading those opinions wrong, and what they are really saying is "it's not pointers filling 4GB of RAM, the pointer size makes no difference on modern machines"? Because I can agree with that one.
- tzot 2y ago> I don't know where you get that "it makes no difference" opinion. It was a far hotter topic back when. After so many years, the only article I could locate (but unfortunately not one I did comment on) that I remember is this one: https://flameeyes.blog/2012/06/19/is-x32-for-me-short-answer-no/ https://flameeyes.blog/2012/06/19/is-x32-for-me-short-answer... There are other commenters though that mention the cache pressure and performance difference.
- musicale 2y agoI miss x32 - it seemed like a nice idea. (And I'm a bit disappointed that iOS and Android didn't adopt something similar for ARM to save memory on phones.) Then again, I also thought segmentation/segment registers might be useful for bounds checking, as in Multics and in the original version of Google Native Client.