Reputation: 106902
After reading an article on virtual memory implications on application performance (and hence design) I once again realize how little I actually know about today's computer architecture. I have but a vague idea of what are caches, pipelines, branch prediction algorithms, how memory buses work, and probably dozens of other artifacts that could greatly improve my program performance if I only knew about them.
For my defense I can say that I alredy knew what VM (virtual memory) was and how it worked, though I'm ashamed that I didn't think of the implications before.
So... can anyone recommend any reading on the subject(s)? I'd vastly prefer online articles that can be read for free - but if you know a good book, don't hesitate to add that too!
P.S. I would also be interested how these lessons affect modern high-level environments like .NET, which is my primary residence.
Upvotes: 8
Views: 1114
Reputation: 7348
Have a look at these guides by Intel and AMD:
It's more focused on C/C++ however. But many optimizations should work on .NET too.
Upvotes: 1