Affiliation:
1. McGill University, Montreal, Quebec, Canada
Abstract
In order to perform meaningful experiments in optimizing compilation and run-time system design, researchers usually rely on a suite of benchmark programs of interest to the optimization technique under consideration. Programs are described as
numeric
,
memory-intensive
,
concurrent
, or
object-oriented
, based on a qualitative appraisal, in some cases with little justification. We believe it is beneficial to quantify the behaviour of programs with a concise and precisely defined set of metrics, in order to make these intuitive notions of program behaviour more concrete and subject to experimental validation. We therefore define and measure a set of unambiguous, dynamic, robust and architecture-independent metrics that can be used to categorize programs according to their dynamic behaviour in five areas: size, data structure, memory use, concurrency, and polymorphism. A framework computing some of these metrics for Java programs is presented along with specific results demonstrating how to use metric data to understand a program's behaviour, and both guide and evaluate compiler optimizations.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
40 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Flexible Non-intrusive Dynamic Instrumentation for WebAssembly;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3;2024-04-27
2. Estimating the energy consumption of model-view-controller applications;The Journal of Supercomputing;2023-03-30
3. Loop Parallelization using Dynamic Commutativity Analysis;2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2021-02-27
4. Fully Reflective Execution Environments: Virtual Machines for More Flexible Software;IEEE Transactions on Software Engineering;2019-09-01
5. Analysis and Optimization of Task Granularity on the Java Virtual Machine;ACM Transactions on Programming Languages and Systems;2019-07-20