While many programmers appreciate the benefits of lazy program-ming at an abstract level, determining which parts of a concrete program to evaluate lazily poses a significant challenge for most of them. Over the past thirty years, experts have published numer-ous papers on the problem, but developing this level of expertise requires a significant amount of experience. We present a profiling-based technique that captures and auto-mates this expertise for the insertion of laziness annotations into strict programs. To make this idea precise, we show how to equip a formal semantics with a metric that measures waste in an evalu-ation. Then we explain how to implement this metric as a dynamic profiling tool that suggests where to insert laziness ...
Profiling tools, which measure and display the dynamic space and time behaviour of programs, are ess...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
Developers use profilers to identify code that should be op-timized. For each block of code, develop...
Profiling tools, which measure and display the dynamic space and time behaviour of programs, are ess...
In this paper we present a profiling methodology and toolkit for helping developers discover hidden ...
1 Introduction The importance of profiling in improving the performance of programs is widelyrecogni...
The goal of this thesis is to create a suitable standard for evaluating lazy evaluation techniques, ...
In this article we present a building block technique and a toolkit towards automatic discovery of w...
We describe the design, implementation and use of a new kind of profiling tool that yields valuable ...
An execution profiling attempts to provide feedback by reporting to the programmer information about...
Call-by-need evaluation, also known as lazy evaluation, provides two key benefits: compositional pro...
Lazy functional languages are known for their semantic elegance. They liberate programmers from many...
Production software packages have become increasingly complex with millions of lines of code, sophis...
This paper focuses on an important optimization opportunity in Python-hosted domain-specific languag...
AbstractLazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a cle...
Profiling tools, which measure and display the dynamic space and time behaviour of programs, are ess...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
Developers use profilers to identify code that should be op-timized. For each block of code, develop...
Profiling tools, which measure and display the dynamic space and time behaviour of programs, are ess...
In this paper we present a profiling methodology and toolkit for helping developers discover hidden ...
1 Introduction The importance of profiling in improving the performance of programs is widelyrecogni...
The goal of this thesis is to create a suitable standard for evaluating lazy evaluation techniques, ...
In this article we present a building block technique and a toolkit towards automatic discovery of w...
We describe the design, implementation and use of a new kind of profiling tool that yields valuable ...
An execution profiling attempts to provide feedback by reporting to the programmer information about...
Call-by-need evaluation, also known as lazy evaluation, provides two key benefits: compositional pro...
Lazy functional languages are known for their semantic elegance. They liberate programmers from many...
Production software packages have become increasingly complex with millions of lines of code, sophis...
This paper focuses on an important optimization opportunity in Python-hosted domain-specific languag...
AbstractLazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a cle...
Profiling tools, which measure and display the dynamic space and time behaviour of programs, are ess...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
Developers use profilers to identify code that should be op-timized. For each block of code, develop...