2 ms·
Though I don't expect Windows targeting tools to leverage it much, using 32 bit pointers can be quite an efficient method to save memory when keeping track of l
by jeroenhd 1y ago
Though I don't expect Windows targeting tools to leverage it much, using 32 bit pointers can be quite an efficient method to save memory when keeping track of lots of small objects. You're limited by 4GiB of memory per process, of course, but by switching to 32 bit you're practically halving the space spent on pointers.
Using smaller pointers also allows for better data locality and better cache efficiency depending on your data layout. If you're not close to hitting 4GiB of RAM, a few free percentage points in performance aren't a bad deal.
Microsoft isn't going to deprecate 32 bit application support any time soon, so you may as well take advantage. That said, so few people have need for it that the deprecation into tier 2 support is probably the right choice. Whatever the 32 bit ABI can do, a custom allocator can probably do just as well on x64.
Oh, and Office stll comes in 32 bit mode for some reason. If you're building an Office plugin, you may need 32 bit code.
- flohofwoe 1y agoThe upside is 32-bit pointers, but the downside is the small register set of x86. Best would be 64-bit ISA with 32-bit pointers, but I don't know if Windows supports such a mode.
- kelnos 1y agoThat mode is called "x32", and Windows doesn't support it. Linux does, but it's not particularly popular, and I believe many distros that used to support it have dropped such support.