Title
An Efficient and Generic Event-based Profiler Framework for Dynamic Languages
Abstract
Profilers help programmers analyze their programs and identify performance bottlenecks. We implement a profiler framework that helps to compare and analyze programs implementing the same algorithms written in different languages. Profiler implementers replicate common functionalities in their language profilers. We focus on building a generic profiler framework for dynamic languages to minimize the recurring implementation effort. We implement our profiler in a framework that optimizes abstract syntax tree (AST) interpreters using a just-in-time (JIT) compiler. We evaluate it on ZipPy and JRuby+Truffle, Python and Ruby implementations in this framework, respectively. We show that our profiler runs faster than the existing profilers in these languages and requires modest implementation effort. Our profiler serves three purposes: 1) helps users to find the bottlenecks in their programs, 2) helps language implementers to improve the performance of their language implementation, 3) helps to compare and evaluate different languages on cross-language benchmarks.
Year
DOI
Venue
2015
10.1145/2807426.2807435
Proceedings of the Principles and Practices of Programming on The Java Platform
Keywords
Field
DocType
python,profiling
Programming language,Computer science,Profiling (computer programming),Abstract syntax tree,Real-time computing,Implementation,Compiler,Interpreter,Python (programming language),Replicate,Java virtual machine
Conference
Citations 
PageRank 
References 
2
0.36
15
Authors
5
Name
Order
Citations
PageRank
Gülfem Savrun-Yeniçeri131.06
Michael L. Van De Vanter218718.58
Per Larsen345923.26
Stefan Brunthaler443119.81
Michael Franz5144499.50