4 ms·
The Drepper series of article dates from 2007. Is it still relevant or has anything fundamental changed in memory handling in the last 13 years ?
by phtrivier 6y ago
The Drepper series of article dates from 2007. Is it still relevant or has anything fundamental changed in memory handling in the last 13 years ?
- Agingcoder 6y agoIt's still relevant. Other than that, I also think that even when outdated, computing history is worth reading anyway, since it gives you a natural understanding of _why_ we do what we do these days. In your day job, it also gives you a different appreciation for what people did and why they did it, and why 'this horrible code' may have made sense at the time. Furthermore, performance engineering is fundamentally about opposing code and hardware limitations. If hardware limitations are different, you'll get different code, but the principles remain the same. If you're curious, write a basic emulator for older hardware (the NES is a great choice) , it's both fun and eye-opening! Edit: the NES emulator will answer 'how do you fit super mario bros in 32k, and how can it run on such limited hardware?'
- einpoklum 6y ago> computing history is worth reading anyway Sometimes, but a description of the state of the art in the past does not become a historical tract with the passage of time. The better ones do; others just become outdated.
- Agingcoder 6y agoWell, the ones which fail (and which become outdated) can also teach us valuable lessons : looking at the current state of the art doesn't necessarily tells you what happens if you do things differently. In other words, we tend to focus on positive results, but negative ones ('don't do this or.. !') can be equally interesting and useful.
- brandmeyer 6y agoHighly relevant. The only part that I would discount is that he was pretty bullish on the prospects for hardware transactional memory, and his forward-looking statements about it didn't pan out. In fairness, much of the industry was bullish about HTM at that time.
- eru 6y agoIn contrast, software transactional memory is still a pretty neat abstraction for some concurrency problems. (And, of course, hardware transactional memory can be used to implement 'software' transactional memory faster than in software.) However, STM only really works well in languages that are pure by default, like eg Haskell (or perhaps Erlang might be close enough). In a language with pervasive mutations and side effects, it's too annoying to use. Microsoft tried to make it work for .net for a while, and gave up.
- mhh__ 6y agoThe prefetching aspects are basically bunk as hardware prefetching is much better now. The rest is still gold.
- n_jd 6y agoBeen a while since I've read them but I recall there was info about the FSB and northbridge, which no longer exist outside the CPU. They've been replaced by internal memory controllers and PCI-E controllers.