Skip to main content

Evaluating Performance and Power of Object-Oriented Vs. Procedural Programming in Embedded Processors

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2361))

Abstract

The development of high-performance and low power portable devices relies on both the underlying hardware architecture and technology as well as on the application software that executes on embedded processor cores. It has been extensively pointed out that the increasing complexity and decreasing time-to-market of embedded software can only be confronted by the use of modular and reusable code, which forces software designers to use objected oriented programming languages such as C++. However, the object-oriented approach is known to introduce a significant performance penalty compared to classical procedural programming. In this paper, the object oriented programming style is evaluated in terms of both performance and power for embedded applications. A set of benchmark kernels is compiled and executed on an embedded processor simulator, while the results are fed to instruction level and memory power models to estimate the power consumption of each system component for both programming styles.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chandrakasan A. and Brodersen R.: Low Power Digital CMOS Design. Kluwer Academic Publishers, Boston (1995)

    Google Scholar 

  2. Benini L. and De Micheli G.: System-Level Power Optimization: Techniques and Tools. ACM Transactions on Design Automation of Electronic Systems, vol. 5, (2000) 115–192

    Article  Google Scholar 

  3. Cockx A. J.: Whole program compilation for embedded software: the ADSL experiment. 9th International Symposium on Hardware/Software Codesign (CODES’2001), Copenhagem, Denmark, (2001)

    Google Scholar 

  4. Plauger P.J.: Embedded C++. Embedded Systems Conference (ESC’99), Chicago, Illinois, USA, (1999)

    Google Scholar 

  5. Sommerville I.: Software Engineering. Addison-Wesley, Harlow (1995)

    Google Scholar 

  6. Harrison R., Samaraweera L.G., Dobie M.R., and Lewis P.H.: Comparing Programming Paradigms: an Evaluation of Functional and Object-Oriented Programs. Software Engineering Journal, vol. 11, (1996) 247–254

    Article  Google Scholar 

  7. SystemC Homepage, http://www.systemc.org

  8. Haney S.W.: Is C++ Fast Enough for Scientific Computing?. Computers in Physics, vol. 8, (1994) 690–694

    Article  Google Scholar 

  9. Robinson A.D.: C++ Gets Faster for Scientific Computing. Computers in Physics, vol. 10, (1996) 458–462

    Google Scholar 

  10. Calder B., Grunwald D., and Zorn B.: Quantifying Behavioral Differences Between C and C++ Programs. Journal of Programming Languages, vol. 2, (1994) 313–351

    Google Scholar 

  11. Robinson A.D.: The abstraction penalty for small objects in C++. Parallel Object-Oriented Methods and Applications Conference (POOMA’96), Santa Fe, New Mexico, (1996)

    Google Scholar 

  12. Collin S., Colnet D. and Zendra O.: Type Inference for Late Binding. The SmallEiffel Compiler. JMLC’97, Linz, Austria, (1997), pp. 67–81

    Google Scholar 

  13. Zendra O., Colnet D. and Collin S.: Efficient Dynamic Dispatch without Virtual Function Tables. The SmallEiffel Compiler. OOPSLA’97, Atlanta GA, USA, (1997), pp. 125–141

    Google Scholar 

  14. Rotithor H., Harris K., and Davis M.: Measurement and Analysis of C and C++ Performance. Digital Technical Journal, vol. 10, (1999) 32–47

    Google Scholar 

  15. Embedded C++ Homepage, http://www.caravan.net/ec2plus

  16. Furber S.: ARM System-on-Chip Architecture. Addison-Wesley, Harlow (2000)

    Google Scholar 

  17. ARM software development toolkit, v2.50, Copyright 1995-98, Advanced RISC Machines.

    Google Scholar 

  18. Kuck & Associates (KAI): C++ Benchmarks, Comparing Performance. http://www.kai.com/C_plus_plus/benchmarks/_index.html

  19. Tiwari V., Malik S. and Wolfe A.: Power Analysis of Embedded Software: A First Step Towards Software Power Minimization. IEEE Transactions on VLSI Systems, vol. 2, (1994), 437–445

    Article  Google Scholar 

  20. Tiwari V., Malik S., Wolfe A. and Lee T.C.: Instruction Level Power Analysis and Optimization of Software. Journal of VLSI Signal Processing, vol. 13, (1996) 1–18

    Google Scholar 

  21. Sinevriotis G. and Stouraitis Th.: Power Analysis of the ARM 7 Embedded Microprocessor. 9th Int. Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS’99), Kos, Greece, (1999), pp. 261–270

    Google Scholar 

  22. Catthoor F., Wuytack S., De Greef E., Balasa F., Nachtergaele L, Vandecappelle A.: Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design. Kluwer Academic Publishers, Boston (1998)

    MATH  Google Scholar 

  23. Sinevriotis G. and Stouraitis Th.: SOFLOPO: Low Power Software Development for Embedded Applications. Public Final Report, European Commission, ESD Best Practice: Pilot Action for Low Power Design, (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chatzigeorgiou, A., Stephanides, G. (2002). Evaluating Performance and Power of Object-Oriented Vs. Procedural Programming in Embedded Processors. In: Blieberger, J., Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe 2002. Ada-Europe 2002. Lecture Notes in Computer Science, vol 2361. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48046-3_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-48046-3_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43784-0

  • Online ISBN: 978-3-540-48046-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics