Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

A good article on modern CPU features/performance optimizations?

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.

like image 463
Vilx- Avatar asked Jan 04 '11 09:01

Vilx-


2 Answers

Just found this PDF by Ulrich Drepper, titled "What Every Programmer Should Know About Memory". Haven't read it, but looks spot on!

like image 147
Vilx- Avatar answered Nov 09 '22 13:11

Vilx-


Here's something about sse.

like image 30
tauran Avatar answered Nov 09 '22 14:11

tauran