speculative evaluation

speculative evaluation

(parallel)
A technique used in parallel processing where some evaluation may be started before it is known whether it is needed (Eager evaluation). This may result in some wasted processing and may introduce unnecessary non-terminating processes but it can reduce the overall run time by making some needed results available earlier than they would be otherwise.

Opposite: conservative evaluation.
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)
References in periodicals archive ?
Futures, lenient languages, and several implementations of graph reduction for lazy languages all use speculative evaluation (call-by-speculation [Hudak and Anderson 1987]) to expose parallelism.
Speculative evaluation is equivalent to designating all expressions as futures and disallowing touching.
The standard [Lambda]-calculus encodings of many language constructs including data structures (e.g., lists), conditionals, local bindings, and recursion behave as desired under speculative evaluation. Furthermore these encodings only involve constant overhead in work and depth [Greiner 1997] over a direct definition.
An encoding which does not wrap [e.sub.2] and [e.sub.3] in abstractions would lead to speculative evaluation of both branches, an option offered in some languages [Osborne 1989].
The transformation to CPS introduces additional dependences, so that no significant computation can be performed in parallel under speculative evaluation. Alternatively, we could simply add a special expression with a serial semantics, as in Figure 28.
Speculative evaluations; essays on a pluralistic universe.