A quantitative analysis of the .NET common language runtime

  • Authors:
  • Joshua R. Dick;Kenneth B. Kent;Joseph C. Libby

  • Affiliations:
  • Faculty of Computer Science, University of New Brunswick, 540 Windsor Street, Fredericton, New Brunswick, Canada E3B 5A3;Faculty of Computer Science, University of New Brunswick, 540 Windsor Street, Fredericton, New Brunswick, Canada E3B 5A3;Faculty of Computer Science, University of New Brunswick, 540 Windsor Street, Fredericton, New Brunswick, Canada E3B 5A3

  • Venue:
  • Journal of Systems Architecture: the EUROMICRO Journal
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Microsoft's .NET platform has been developed to simplify development of Windows applications. The execution environment at the heart of this platform is a virtual machine known as the common language runtime (or CLR). The goal of this paper is to present a comprehensive behavioral analysis of the CLR instruction set and the high level language support. This will aid in the development of a hardware implementation of the CLR, similar to techniques applied to the Java virtual machine. The pertinent data is extracted using a profiling application while executing a benchmark application. We have analyzed this data with respect to access patterns for data types, addressing modes, instruction set utilization, execution time requirements, method invocation behavior and the effects of object orientation. Conclusions and recommendations are presented that will aid in the future development of a hardware implementation.