I wonder when 32-bit systems (regardless of underlying arch (intel, arm, mips, etc.)) will become prohibitively more expensive than 64-bit for all markets.
Conversation
Replying to
they'll just be more embedded
the 32 bit systems literally take up less die space
3
6
Can happily use 32-bit pointers and integers on a 64-bit architecture too.
As an example, the Android Runtime uses 32-bit pointers for Kotlin/Java pointers and most of the internal pointers. Running on 64-bit also doesn't result in non-FFI libraries using more 64-bit integers.
C ended up with a weird approach to integers from portability to a lot of weird architectures with horrible things like segmentation. POSIX chose to deal with it in a way that ends up using far more 64-bit integers than alternatives. Lots of other languages don't really do it.
1
Modern low-level languages tend to just have fixed-size integers and integers for sizes/addresses so only the ones for sizes get larger.
Many older languages/libraries don't bother supporting > 2GB objects so they just use 32-bit integers so mostly only pointers end up 64-bit.



