Counting messages as a proxy for average execution time in pharo

Bergel, A

Keywords: framework, time, environments, monitoring, object, testing, techniques, context, sensitive, programming, average, highly, oriented, execution

Abstract

Code profilers are used to identify execution bottlenecks and understand the cause of a slowdown. Execution sampling is a monitoring technique commonly employed by code profilers because of its low impact on execution. Regularly sampling the execution of an application estimates the amount of time the interpreter, hardware or software, spent in each method execution time. Nevertheless, this execution time estimation is highly sensitive to the execution environment, making it non reproductive, non-deterministic and not comparable across platforms. On our platform, we have observed that the number of messages sent per second remains within tight (±7%) bounds across a basket of 16 applications. Using principally the Pharo platform for experimentation, we show that such a proxy is stable, reproducible over multiple executions, profiles are comparable, even when obtained in different execution contexts. We have produced Compteur, a new code profiler that does not suffer from execution sampling limitations and have used it to extend the SUnit testing framework for execution comparison. © 2011 Springer-Verlag Berlin Heidelberg.

Más información

Título de la Revista: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volumen: 6813
Editorial: Society of Laparoendoscopic Surgeons
Fecha de publicación: 2011
Página de inicio: 533
Página final: 557
URL: http://www.scopus.com/inward/record.url?eid=2-s2.0-79961159242&partnerID=q2rCbXpz