Counting messages as a proxy for average execution time in pharo
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 |