Hacker News new | comments | ask | show | jobs | submit login

I would like to start by Ulrich Drepper' famous paper What Every Programmer Should Know About Memory [0]

[0]: https://people.freebsd.org/~lstewart/articles/cpumemory.pdf






Genuinely curious how useful this has been to you, personally.

I only found Drepper's paper 4-5 years ago, but it would have been a godsend back when I learned how modern computers work. It took a lot of inefficient effort to scrounge together the basics, having a single source that covers most of the essentials is immensely valuable as a starting point. Agner Fog's manuals are another piece of essential reading and reference that I recommend everyone go through at least once.

And yes, the title isn't hyperbole. You can skim the parts describing specific tooling, but the fact that the description of the memory hierarchy and how it works hasn't been internalized by every programmer is a travesty.


I've read through part of it and I find it quite useful when I try to reason about how something ought to perform. I try to do this before measuring and checking if I'm right. Then I try to see where I went wrong (I'm seldom right) and again having an understanding of how the computer works really helps here.

I, honestly, don't know if it will help me in terms of my career because at my current job, it's not something I can put to use. However, I want to learn this because it is fun (for me) to understand things close-to-the-metal.


well, I'm the guy asking weird questions in interviews :)

So it's only useful for figuring out what irrelevant question to ask people to make them not want to work at your company? :D

Jokes aside, the guy asked how it's been useful and it's not terribly convincing that your first (and only?) thought was interview questions.


That's an extremely unsatisfying answer.



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: