L'esecuzione speculativa (in inglese: speculative execution) è una tecnica di ottimizzazione che consiste nel fare eseguire al computer operazioni che potrebbero essere necessarie solo in un secondo tempo. Elaborando i dati prima di sapere se è davvero necessario farlo può ridurre i ritardi che si avrebbero facendo il lavoro solo dopo aver saputo se è davvero necessario o no. Se ad un certo momento del flusso di esecuzione il lavoro svolto anticipatamente si dimostra inutile, allora i risultati ottenuti verranno semplicemente ignorati.
L'obiettivo dell'esecuzione speculativa è quello di creare maggiore concorrenza quando sono disponibili risorse supplementari, per esempio più CPU che funzionano in parallelo. Nel mondo reale questo approccio è attuato in varie situazioni, per esempio nella predizione delle diramazioni di esecuzione del flusso di esecuzione su processori con pipeline, nell'analisi predittiva per l'exploit di località,[1] nel precaricare memoria e file, e nel controllo di concorrenza ottimistica in sistemi database.[2][3][4]