I love reading articles like this:
"So, for example, a cache miss on Jesper's 3GHz processor takes about 32ns to resolve. It thus only takes two misses to wipe out the entire time budget for processing a packet."
Then I go back to adding another layer of abstraction to my bloated Java code and die a little inside.
Actually guys like him are making our life easier and so we don't have to worry about a lot of stuff like this. Abstractions are a necessity, don't feel bad. There is no way a small team using Java/Scala can accomplish what they usually do in the time frame they do it, without those abstractions. Computers are there to ease our lives after all.
Then I go back to adding another layer of abstraction to my bloated Java code and die a little inside.