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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Chandrakasan A. and Brodersen R.: Low Power Digital CMOS Design. Kluwer Academic Publishers, Boston (1995)
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
Cockx A. J.: Whole program compilation for embedded software: the ADSL experiment. 9th International Symposium on Hardware/Software Codesign (CODES’2001), Copenhagem, Denmark, (2001)
Plauger P.J.: Embedded C++. Embedded Systems Conference (ESC’99), Chicago, Illinois, USA, (1999)
Sommerville I.: Software Engineering. Addison-Wesley, Harlow (1995)
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
SystemC Homepage, http://www.systemc.org
Haney S.W.: Is C++ Fast Enough for Scientific Computing?. Computers in Physics, vol. 8, (1994) 690–694
Robinson A.D.: C++ Gets Faster for Scientific Computing. Computers in Physics, vol. 10, (1996) 458–462
Calder B., Grunwald D., and Zorn B.: Quantifying Behavioral Differences Between C and C++ Programs. Journal of Programming Languages, vol. 2, (1994) 313–351
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)
Collin S., Colnet D. and Zendra O.: Type Inference for Late Binding. The SmallEiffel Compiler. JMLC’97, Linz, Austria, (1997), pp. 67–81
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
Rotithor H., Harris K., and Davis M.: Measurement and Analysis of C and C++ Performance. Digital Technical Journal, vol. 10, (1999) 32–47
Embedded C++ Homepage, http://www.caravan.net/ec2plus
Furber S.: ARM System-on-Chip Architecture. Addison-Wesley, Harlow (2000)
ARM software development toolkit, v2.50, Copyright 1995-98, Advanced RISC Machines.
Kuck & Associates (KAI): C++ Benchmarks, Comparing Performance. http://www.kai.com/C_plus_plus/benchmarks/_index.html
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
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
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
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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