Speculative execution is an
optimization technique where a
computer system performs some task that may not be actually needed. The main idea is to do work
before it is known whether that work will be needed at all, so as to prevent a delay that would have to be incurred by doing the work
after it is known whether it is needed. If it turns out the work was not needed after all, any changes made by the work are reverted and the results are ignored.