Skip to main content

Counting Messages as a Proxy for Average Execution Time in Pharo

  • Conference paper
ECOOP 2011 – Object-Oriented Programming (ECOOP 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6813))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ammons, G., Ball, T., Larus, J.R.: Exploiting hardware performance counters with flow and context sensitive profiling. In: Proceedings of PLDI 1997, pp. 85–96. ACM, New York (1997)

    Google Scholar 

  2. Robert, G.: Atkinson. Hurricane: An optimizing compiler for Smalltalk. In: Proceedings OOPSLA 1986, pp. 151–158. ACM, New York (1986)

    Google Scholar 

  3. Baskiyar, S.: Efficient execution of pure object-oriented programs by follow-up compilation. Computing 69, 273–289 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bergel, A., Bañados, F.B., Robbes, R., Röthlisberger, D.: Spy: A flexible code profiling framework. In: Smalltalks (2010) (to appear)

    Google Scholar 

  5. Bergel, A., Robbes, R., Binder, W.: Visualizing dynamic metrics with profiling blueprints. In: Proceedings of TOOLS EUROPE 2010, pp. 291–309. Springer, Heidelberg (2010)

    Google Scholar 

  6. Camesi, A., Hulaas, J., Binder, W.: Continuous bytecode instruction counting for cpu consumption estimation. In: Proceedings of the 3rd International Conference on the Quantitative Evaluation of Systems, pp. 19–30. IEEE, Los Alamitos (2006)

    Google Scholar 

  7. Diwan, A., Lee, H., Grunwald, D.: Energy consumption and garbage collection in low-powered computing. Cu-cs-930-02, University of Colorado (2002)

    Google Scholar 

  8. Dmitriev, M.: Profiling java applications using code hotswapping and dynamic call graph revelation. In: Proceedings of the Fourth International Workshop on Software and Performance, pp. 139–150. ACM, New York (2004)

    Chapter  Google Scholar 

  9. Ducasse, S., Nierstrasz, O., Schärli, N., Wuyts, R., Black, A.P.: Traits: A mechanism for fine-grained reuse. TOPLAS 28(2), 331–388 (2006)

    Article  Google Scholar 

  10. Ducasse, S., Pollet, D., Bergel, A., Cassou, D.: Reusing and composing tests with traits. In: Oriol, M., Meyer, B. (eds.) TOOLS EUROPE 2009. Lecture Notes in Business Information Processing, vol. 33, pp. 252–271. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  11. Freedman, D., Pisani, R., Purves, R.: Statistics, 3rd edn. W. W. Norton & Company, New York (1997)

    MATH  Google Scholar 

  12. Gupta, A., Hwu, W.-M.W.: Xprof: profiling the execution of X Window programs. In: Proceedings of Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS 1992/PERFORMANCE 1992, pp. 253–254. ACM, New York (1992)

    Chapter  Google Scholar 

  13. Järvelin, K., Kekäläinen, J.: Cumulated gain-based evaluation of ir techniques. ACM Trans. Inf. Syst. 20(4), 422–446 (2002)

    Article  Google Scholar 

  14. Johnson, R.: TS: An optimizing compiler for Smalltalk. In: Proceedings of OOPSLA 1988, pp. 18–26. ACM, New York (1988)

    Google Scholar 

  15. Kleinrock, L., Muntz, R.R.: Processor sharing queueing models of mixed scheduling disciplines for time shared system. J. ACM 19(3), 464–482 (1972)

    Article  MATH  Google Scholar 

  16. Mann, P.S.: Introductory Statistics. Wiley, Chichester (2006)

    MATH  Google Scholar 

  17. Martin, R.C.: Agile Software Development. Principles, Patterns, and Practices. Prentice-Hall, Englewood Cliffs (2002)

    Google Scholar 

  18. Meyer, M., Gîrba, T., Lungu, M.: Mondrian: An agile visualization framework. In: Proceedings of Symposium on Software Visualization (SoftVis 2006), pp. 135–144. ACM, New York (2006)

    Chapter  Google Scholar 

  19. Miranda, E.: Brouhaha — A portable Smalltalk interpreter. In: Proceedings of OOPSLA 1987, pp. 354–365. ACM, New York (1987)

    Google Scholar 

  20. Mytkowicz, T., Diwan, A., Hauswirth, M., Sweeney, P.F.: Producing wrong data without doing anything obviously wrong! In. In: Proceeding of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2009, pp. 265–276. ACM, New York (2009)

    Google Scholar 

  21. Mytkowicz, T., Diwan, A., Hauswirth, M., Sweeney, P.F.: Evaluating the accuracy of java profilers. In: Proceedings of PLDI 2010, pp. 187–197. ACM, New York (2010)

    Google Scholar 

  22. Mytkowicz, T., Diwan, A., Bradley, E.: Computers Are Dynamical Systems. Chaos 19, 033124 (2009)

    Article  Google Scholar 

  23. Dain Samples, A., Ungar, D., Hilfinger, P.: SOAR: Smalltalk without bytecodes. In: Proceedings of OOPSLA 1986, pp. 107–118. ACM, New York (1986)

    Google Scholar 

  24. Tanter, É.: Execution levels for aspect-oriented programming. In: Proceedings of AOSD 2010, pp. 37–48. ACM, New York (2010)

    Google Scholar 

  25. Ungar, D., Patterson, D.: Smalltalk-80: Bits of History, Words of Advice Berkeley Smalltalk: Who Knows Where the Time Goes? In: Smalltalk-80: Bits of History, Words of Advice, pp. 189–206. Addison-Wesley, Reading (1983)

    Google Scholar 

  26. Yu, J., Yang, J., Chen, S., Luo, Y., Bhuyan, L.N.: Enhancing network processor simulation speed with statistical input sampling. In: Conte, T., Navarro, N., Hwu, W.-m.W., Valero, M., Ungerer, T. (eds.) HiPEAC 2005. LNCS, vol. 3793, pp. 68–83. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bergel, A. (2011). Counting Messages as a Proxy for Average Execution Time in Pharo. In: Mezini, M. (eds) ECOOP 2011 – Object-Oriented Programming. ECOOP 2011. Lecture Notes in Computer Science, vol 6813. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22655-7_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22655-7_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22654-0

  • Online ISBN: 978-3-642-22655-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics