Hogy valamiért (pl. delay) ne optimalizáljo a C, arra ott a volatile kulcsszó.
De manapság mikrovezérlőn se menő a delay, helyette timer felhúz & sleep ... akkubarátabb.
A mai C fordítókkal a legtöbb C kód max 1..2%-kal lassabb egy full optimális assembly kódnál. Ezért nem éri meg a nehezen karbantartható, rejtett bugokat nagyobb mértékben "támogató" assembly programozás.