1 Introducción

“Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered.”

— Donald Knuth.

Optimizar código para hacerlo más rápido es un proceso iterativo:

  • Encontrar el mayor “cuello de botella” (la parte más lenta)
  • Intentar eliminarlo
  • Repetir hasta que el c[odigo es lo “suficientemente rápido”