Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Garbage collection in an uncooperative environment
Software—Practice & Experience
Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
No assembly required: compiling standard ML to C
ACM Letters on Programming Languages and Systems (LOPLAS)
CONS should not CONS its arguments, part II: Cheney on the M.T.A.
ACM SIGPLAN Notices
Storage use analysis and its applications
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Reconciling responsiveness with performance in pure object-oriented languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Java bytecode to native code translation: the caffeine prototype and preliminary results
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Fast, effective code generation in a just-in-time Java compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Control flow analysis: a functional languages compilation paradigm
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Adaptive optimization in the Jalapeño JVM
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Inline Expansion: When and How?
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
Bigloo: A Portable and Optimizing Compiler for Strict Functional Languages
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Efficient JavaVM Just-in-Time Compilation
PACT '98 Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques
Compiling lazy functional programs for the Java Virtual Machine
Journal of Functional Programming
Overview of the IBM Java just-in-time compiler
IBM Systems Journal
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Stack virtualization for source level debugging
Software—Practice & Experience
Pillar: A Parallel Implementation Language
Languages and Compilers for Parallel Computing
Hop, a Fast Server for the Diffuse Web
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
Selective tail call elimination
SAS'03 Proceedings of the 10th international conference on Static analysis
Hi-index | 0.00 |
We have added a Java virtual machine (henceforth JVM) bytecode generator to the optimizing Scheme-to-C compiler Bigloo. We named this new compiler BiglooJVM. We have used this new compiler to evaluate how suitable the JVM bytecode is as a target for compiling strict functional languages such as Scheme. In this paper, we focus on the performance issue. We have measured the execution time of many Scheme programs when compiled to C and when compiled to JVM. We found that for each benchmark, at least one of our hardware platforms ran the BiglooJVM version in less than twice the time taken by the Bigloo version. In order to deliver fast programs the generated JVM bytecode must be carefully crafted in order to benefit from the speedup of just-in-time compilers.