Оптимизация часто бывает не бесплатной. Скажем, оптимизируешь потребление памяти — повышается нагрузка на процессор. Снижаешь нагрузку (выбрав другой алгоритм) — растёт потреблением памяти. Уменьшаешь и то, и то — страдает количество данных, которые программа умеет обрабатывать единовременно.