7 ms·
What Every Programmer Should Know About Memory (2007) [pdf]
- sctb 9y agoPast discussions: https://hn.algolia.com/?query=What%20Every%20Programmer%20Should%20Know%20About%20Memory&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0 https://hn.algolia.com/?query=What%20Every%20Programmer%20Sh...
- fnovd 9y agoA fascinating document, but I find it far-fetched that every programmer needs be intimately familiar with capacitor timing to use RAM efficiently, let alone write efficacious programs. As languages without MMM become more popular, it's really up to the compiler authors (or at least a subset of them) to get all of these details right.
- sigjuice 9y agoWhat is a language without (or with) DMA? The document's mention of DMA does not seem language related.
- fnovd 9y agoSorry, I mean't manual memory management. It seems like I'm having some problems with DMA myself!
- FLUX-YOU 9y agoThis kind of article title was always vacuous. It's essentially click bait. I don't think any of us have actually learned each thing that every article says that every programmer should know.
- sqeaky 9y agoThis is a 114 page paper that describes the extreme details of squeezing every ounce of performance out of memory. While I agree every programmer does not need to know, calling it vacuous without reading is deeply insulting to such a useful document. I read every page of it some years ago and will likely re-read it again soon as details fade.
- savanaly 9y agoHe called the title vacuous. Big difference.
- sqeaky 9y agoIt is not important, but I would argue even that, at worst its dated. The success of this paper seems to be what kicked off the trend of "Everything about <blah> every programmer [needs|should] know". Just like I wouldn't consider the "Goto's considered harmful" title to be vacuous despite the endless parade of copycats with "<Blah> considered harmful" articles and papers.
- sqeaky 9y agoI agree that not every programmer needs to know the contents of this giant paper. It be useful for any programmer wanting to learn more about how memory and allocations affect performance and correctness. Since there are so few things that every programmer actually needs, please enjoy these latency numbers that I think will benefit just about every programmer: https://gist.github.com/jboner/2841832 https://gist.github.com/jboner/2841832
- mamcx 9y agoThink this way: Imagine is "What every scientist should know about relativity" and it point to the most complete book about it (which I don't know what is it). Obviously is not about know every detail, but read the whole book will be more beneficial that read a small summary like: "This 10 weird tricks about relativity will make you popular!"
- delhanty 9y ago(slightly) OT: The article is well known and the author Ulrich Drepper is also well known in the FOSS world for his work on the GNU C Library. [1] So I was surprised to find that he did not have a small English language Wikipedia page, even though there were pages in German, French, Norwegian, Japanese and Persian. Oh, "that can't be right - I'll create one!", I thought. (By translating one of the existing pages.) But I could not! The page "is protected from creation" [2]. An archived deletion discussion from 2014 states "This article fails Wikipedia:Notability (people), Wikipedia:Verifiability, and Wikipedia:Biographies of living persons and should be deleted." ... etc. Edit: s/Dropper/Drepper/ [1] https://en.wikipedia.org/wiki/GNU_C_Library https://en.wikipedia.org/wiki/GNU_C_Library [2] https://en.wikipedia.org/wiki/Ulrich_Drepper https://en.wikipedia.org/wiki/Ulrich_Drepper [3] https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Ulrich_Drepper https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletio...
- lj3 9y agoYou can try to create one on infogalactic.com. I doubt they would object.
- delhanty 9y agoInfogalactic looks all free and easy now - but it could not remain that way if it got to anything like the scale of Wikipedia. Without the "fascist" administrators, Wikipedia would be an absolute spam-fest of corporate drivel, conspiracy theory nutjobs ... etc. My point is that my gut reaction was that Ulrich Drepper was notable enough to have a small Wikipedia page, but it turned out that it had been quite clearly decided that he was not.
- lj3 9y ago> but it could not remain that way if it got to anything like the scale of Wikipedia. I would encourage you to learn a bit more about it first. It will not be following wikipedia down that path.
- 9y ago
- lj3 9y agoHere's a good companion piece that focuses on CPU features rather than memory: "What's new in CPUs since the 80s and how does it affect programmers?"[0] [0]: https://danluu.com/new-cpu-features/ https://danluu.com/new-cpu-features/