3 ms·
Maybe I'm old. I never used to think that an application that is able to use my whole ram is optimized. It evokes exactly the opposite impression, indeed. I th
by muxator 5y ago
Maybe I'm old. I never used to think that an application that is able to use my whole ram is optimized. It evokes exactly the opposite impression, indeed.
I think I understand what you mean, but the gut reaction is that one.
Yeah, I am really old, after all.
Edit: let me explain. Something that is able to use the whole space of a flat memory model is way less sophisticated than something that is able to deal with a complex memory hierarchy. Our machines are indeed a complex pyramid of different subsystems with varying bandwidth and latency characteristics. A program that is able to embrace the inherent hierarchical nature of our machines (or multi-node systems) is way more "optimized", according to my sensibility.
- dekhn 5y agoI'm talking about situations like search, where you hold the entire index in ram. Total # of machines = size of index / indexserver ram. Usually the apps that run on these have, say, 96 cores and they're using about 80, and the idle time is mostly instructions waiting for memory fetches. Typically that index fronts a disk repository which wouldn't fit in RAM, although over time, what fit in RAM, what fit in disk, what lived in RAM, what got cached in RAM, etc, have changed over time. BTW, I'm probably of the same generation as you and the single most important lesson I ever learned for computing performance was "add more RAM"; in the days when I first started using Linux with 4MB of RAM, it wasn't enough to do X11, g++ and emacs all at the same time without swapping, so I spent my hard-earned money to max out the RAM, at which point it didn't swap and I could actually do software development quickly.