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