2011 · 51 citations · 26 references
ComputingComputer EngineeringComputer ScienceAlgorithmsCompilersProgramming LanguagesCompiler ConstructionControl-flow AnalysisData-flow AnalysisRuntime SystemsType CheckingType SystemsAllocationDynamic CompilationOnline EvaluationPartial EvaluationRuntime Type CheckingRuntime Type SystemsTrace-based CompilationTracing
The performance of many dynamic language implementations suffers from high allocation rates and runtime type checks. This makes dynamic languages less applicable to purely algorithmic problems, despite their growing popularity. In this paper we present a simple compiler optimization based on online partial evaluation to remove object allocations and runtime type checks in the context of a tracing JIT. We evaluate the optimization using a Python VM and find that it gives good results for all our (real-life) benchmarks.
26
Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerjia · ACM SIGPLAN Notices · 2011 · 739 citations
Deforestation: transforming programs to eliminate trees
Philip Wadler · Theoretical Computer Science · 1990 · 707 citations
Statistically rigorous java performance evaluation
Andy Georges, Dries Buytaert, Lieven Eeckhout · 2007 · 525 citations · Full text
Jong-Deok Choi, Manish Gupta, Maurício Serrano et al. · 1999 · 505 citations · Full text
Andrew Gill, John Launchbury, Simon Jones · 1993 · 415 citations · Full text