2003
DOI: 10.1145/944746.944731
|View full text |Cite
|
Sign up to set email alerts
|

Optimistic evaluation

Abstract: Lazy programs are beautiful, but they are slow because they build many thunks. Simple measurements show that most of these thunks are unnecessary: they are in fact always evaluated, or are always cheap. In this paper we describe Optimistic Evaluation --- an evaluation strategy that exploits this observation. Optimistic Evaluation complements compile-time analyses with run-time experiments: it evaluates a thunk speculatively, but has an abortion mechanism to back out if it makes a bad choice. A run-time adaptio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2005
2005
2021
2021

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 6 publications
(1 citation statement)
references
References 20 publications
0
1
0
Order By: Relevance
“…. Functional languages with a call-by-need evaluation strategy must contend with memory pressure and associated performance issues due to the allocation of a substantial number of thunks (suspended computations) [6,16,25]. The Glasgow Haskell Compiler performs a strictness analysis pass to identify arguments that can be evaluated strictly.…”
Section: Rmentioning
confidence: 99%
“…. Functional languages with a call-by-need evaluation strategy must contend with memory pressure and associated performance issues due to the allocation of a substantial number of thunks (suspended computations) [6,16,25]. The Glasgow Haskell Compiler performs a strictness analysis pass to identify arguments that can be evaluated strictly.…”
Section: Rmentioning
confidence: 99%