Java Runtime Systems: Characterization and Architectural Implications
IEEE Transactions on Computers
Compiling for the .Net Common Language Runtime
Compiling for the .Net Common Language Runtime
Bigram analysis of Java bytecode sequences
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
A Study of the Allocation Behavior of the SPECjvm98 Java Benchmark
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
An Empirical Study of Method In-lining for a Java Just-in-Time Compiler
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Characterization of Java Applications at Bytecode and Ultra-SPARC Machine Code Levels
ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Method-level phase behavior in java workloads
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A quantitative analysis of Java bytecode sequences
Proceedings of the 3rd international symposium on Principles and practice of programming in Java
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Exploratory Data Analysis with MATLAB (Computer Science and Data Analysis)
Exploratory Data Analysis with MATLAB (Computer Science and Data Analysis)
An empirical study of Java bytecode programs
Software—Practice & Experience
A study of Java object demographics
Proceedings of the 7th international symposium on Memory management
A quantitative analysis of the .NET common language runtime
Journal of Systems Architecture: the EUROMICRO Journal
The Clojure programming language
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
How Do Java Programs Use Inheritance? An Empirical Study of Inheritance in Java Software
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Hierarchical Means: Single Number Benchmarking with Workload Cluster Analysis
IISWC '07 Proceedings of the 2007 IEEE 10th International Symposium on Workload Characterization
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
APSEC '10 Proceedings of the 2010 Asia Pacific Software Engineering Conference
Using JRuby: Bringing Ruby to Java
Using JRuby: Bringing Ruby to Java
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Elephant Tracks: generating program traces with object death records
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
new Scala() instance of Java: a comparison of the memory behaviour of Java and Scala programs
Proceedings of the 2012 international symposium on Memory Management
Evaluating the design of the R language: objects and functions for data analysis
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
A comprehensive toolchain for workload characterization across JVM languages
Proceedings of the 11th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering
Elephant tracks: portable production of complete and precise gc traces
Proceedings of the 2013 international symposium on memory management
Characteristics of dynamic JVM languages
Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
Hi-index | 0.00 |
The rapid adoption of non-Java JVM languages is impressive: major international corporations are staking critical parts of their software infrastructure on components built from languages such as Scala and Clojure. However with the possible exception of Scala, there has been little academic consideration and characterization of these languages to date. In this paper, we examine four non-Java JVM languages and use exploratory data analysis techniques to investigate differences in their dynamic behavior compared to Java. We analyse a variety of programs and levels of behavior to draw distinctions between the different programming languages. We briefly discuss the implications of our findings for improving the performance of JIT compilation and garbage collection on the JVM platform.