C e me ottimizzazioni vanno a braccetto, il problema è quanto specifico è l'ISA per cui compili, più è specifico, più le prestazioni saranno alte, meno è specifico, più le cpu supportate.

Per specifico non intendo specificato, intendo che processori simili (della stessa famiglia) hanno set di istruzioni simili, ma alcuni hanno istruzioni che ad altri mancano. Inoltre prese combinazioni di istruzioni equivalenti a e b, su un'implementazione può essere più veloce la combinazione a e su un altro può essere più veloce la combinazione b.

Il vantaggio di un compilatore JIT è che conosce a perfezione l'HW e tutte le istruzioni disponibili.

In generale andrà comunque meglio C perché ha più spazio per le ottimizzazioni, non ha nessuna forma di controllo della correttezza delle operazioni sulla memoria, ..., ...