4 ms·
> > It believes that volatile storage is uniform in terms of latency and throughput. > It doesn't, I don't think it even mentions terms like latency and throug
by taejo 3y ago
> > It believes that volatile storage is uniform in terms of latency and throughput.
> It doesn't, I don't think it even mentions terms like latency and throughput.
Yes, that's the whole point.
- jstimpfle 3y agoNo it isn't. Not mentioning the differences isn't the same as acting like they don't exist. Those things are only treated as out of scope. Not every concept must be expressed in language syntax / runtime objects, nor is necessarily it a good idea to do so. In many cases, it's a bad idea because it leads to fragmentation and compatibility issues. At some point, one has to stop making distinctions and treat a set of things things uniformly, even though they still have differences. CPUs have various load and store instructions that all work with arbitrary pointer addresses. Whether the address is a good/bad/valid/invalid one will only turn out at run time. There would be little point to make a separate copy of these instruction sub-sets for each kind of memory (however you'd categorize your memories). The intent as well as the user interface are the same. I think that's basic software architecture 101. (Once you've left uni and left behind that OOP thinking where every object of thought must have a runtime representation). Btw. C compilers allow you to put a number of annotation on pointers as well as data objects. For example pointer alignment to influence instruction selection, or hints to the linker...