4 ms·
All other things are not equal, however.
by jfb 13y ago
All other things are not equal, however.
- marshray 13y agoTrue, there can be address space fragmentation issues on large 32-bit processes. What else did you have in mind?
- sanxiyn 13y agoJavaScript engines particularly benefit from running on 64-bit. Modern JavaScript engines use 64-bit value representation, even on 32-bit.
- marshray 13y agoOK, yeah the fundamental number type of Javascript is the 64-bit floating point double so I could see how the ability of a JIT to emit code to handle 56 bit integers might be useful. But it would still be a tradeoff against the cost of doubling the size of every pointer.
- bzbarsky 13y agoASLR works much better in a 64-bit process. mmapping files without blowing out your address space works a lot better in a 64-bit process (and system libraries love to mmap things like fonts, which can quickly take up a bunch of address space). I just took a look at the address space usage on my Mac, and the spotlight indexer seems to be using about 1.5GB of address space (and 350MB of actual RAM, for some reason?), and a number of other built-in things (WindowServer, Apple80211Agent, Dashboard) are all north of the 500MB address space mark.
- marshray 13y agoASLR, yep. But I think most stuff that runs off of soldered-on DDR3L and flash RAM (e.g., apps on phone and tablet OSes) may be better off sticking with 32 bit addresses for another generation.
- Tuna-Fish 13y agoThe extra registers and other advancements in instruction sets help a lot. x86 has some enchancements, but if you think that 64-bit is bad for mobile, I strongly suggest looking at the A7 32 vs 64 benchmarks. ( http://anandtech.com/show/7335/the-iphone-5s-review/4 http://anandtech.com/show/7335/the-iphone-5s-review/4 ) Of course, the performance gains have really nothing to do with 64-bit addressing alone, but ARM took the opportunity to almost completely redesign the ISA, and A64 is in general a better and faster ISA than A32. So all else is not equal.
- sanxiyn 13y agoI actually find this 64-bit-has-better-ISA-than-32-bit situation annoying. I would like to have better ISA, without making pointers larger. There is x32(https://sites.google.com/site/x32abi/ https://sites.google.com/site/x32abi/), will there be something similar for ARM?