These are just some thoughts I had today about optimization and I decided to write them down before I forgot what I was thinking or changed my mind.
Suppose you have a bottleneck function, f
, as part of a larger system.
- Do exactly
f
, but faster.
This is the most straightforward approach. Basically, compute the exact same thing f
is, but do it faster. This can include speeding up subproblems, improving the algorithm used in f
itself, switching to faster hardware, performing precomputation in places that aren't time-critical (so there isn't a tradeoff from this perspective), and so on.