Reducing indirect function call overhead in C++ programs
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Execution characteristics of desktop applications on Windows NT
Proceedings of the 25th annual international symposium on Computer architecture
Object Oriented ARM7 Coprocessor
HICSS '98 Proceedings of the Thirty-First Annual Hawaii International Conference on System Sciences - Volume 3
Execution Characteristics of Object Oriented Programs on the UltraSPARC-II
HIPC '98 Proceedings of the Fifth International Conference on High Performance Computing
Hi-index | 0.00 |
This paper presents detailed behavioral measurements of several C++ and C programs on embedded processor ARM7TDMI. By comparing the instruction set usage of C++ and C benchmark programs, we can specify what is needed in an embedded object-oriented processor in order to provide a fully object-oriented system in both hardware and software. Various architectural data related to execution behavior and instruction set usage is collected using ADS 1.2 and profiling software. In addition, the benchmarks explored in this paper have both C++ and C versions. All the programs are computing intensive and used with high frequency in embedded software. Results show that the static size of C++ program is larger than C programs. Although, C++ programs have more call instructions and more memory operations, C++ programs possess smaller function size than C programs. Various suggestions on optimization to be applicable in both hardware and software are appended in our research paper.