Без заголовка
Программист может лишь оптимизировать собственный алгоритм, если тот в чём-то тормозит, но сделать программу работающей быстрее путём оптимизации кэширования не получится. Кэш для этого просто не предназначен.
Скажем так, если алгоритм плохо работает с кэшом, то он будет сильно тормозить из-за кэш-миссов, т.е. процессор просто встает на многие такты и ждет когда данные придут из памяти.
Многие алгоритмы плохо работают с кэшами, и потеря в скорости может быть значительной. Поэтому иногда это приходится принимать во внимание и шевелить мозгом.