Speculative execution is an optimization technique where a computer system performs some task that may not be needed.
This approach is employed in a variety of areas, including branch prediction in pipelined processors, value prediction for exploiting value locality, prefetching memory and files, and optimistic concurrency control in database systems.
Common forms of this include branch predictors and memory dependence prediction.
Eager Haskell, a variant of the language, is designed around the idea of speculative execution.
[10] Starting in 2017, a series of security vulnerabilities were found in the implementations of speculative execution on common processor architectures which effectively enabled an elevation of privileges.