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çeri | 1 | 3 | 1.06 |
Michael L. Van De Vanter | 2 | 187 | 18.58 |
Per Larsen | 3 | 459 | 23.26 |
Stefan Brunthaler | 4 | 431 | 19.81 |
Michael Franz | 5 | 1444 | 99.50 |