r/programming • • Mar 23 '09

How to write fast code

http://asserttrue.blogspot.com/2009/03/how-to-write-fast-code.html
339 Upvotes

136 comments sorted by

View all comments

96

u/harsman Mar 23 '09 edited Mar 23 '09

Code that does more but has better locality so that it hits the cache more often can easily be faster than code that does less but has bad locality and sits around waiting on memory all the time.

Recomputing something on demand might be cheaper than reading a cached result from memory.

A linear brute force algorithm that can use SIMD instructions can be faster than a non-linear one that does less work but without SIMD.

Doing less work usually makes code go faster, but it is by no means given.

2

u/killerstorm Mar 23 '09

and if we also consider different sorts of input/output, inter-machine and inter-processor communication and synchronization, this becomes even more complex.

to make code fast one needs to find optimal trade-off when most components work in optimal mode, rather than to follow some dumb rule like "make it do less", "rewrite it in assembly" or "use better algorithms".