Separate compilation in a Modula-2 compiler
Software—Practice & Experience
Fast, effective dynamic compilation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Proxy compilation of dynamically loaded Java classes with MoJo
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
JCOD: A Lightweight Modular Compilation Technology for Embedded Java
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
UbiComp '01 Proceedings of the 3rd international conference on Ubiquitous Computing
Self-Tuned Remote Execution for Pervasive Computing
HOTOS '01 Proceedings of the Eighth Workshop on Hot Topics in Operating Systems
Hi-index | 0.00 |
Compiler optimizations are difficult to implement and add complexity to a compiler. For this reason, compiler writers are selective about implementing them: they implement only the ones that they believe will be beneficial. Compilation Server (CS) is a server-assist mechanism to eliminate or reduce the compilation overhead. CS can compile and optimize code on behalf of clients. Broadly speaking, there are three interleaved steps in running java programs in a compiled environment: downloading the bytecodes, compiling and possibly optimizing the bytecodes, and running the compiled code. Optimized code typically runs faster than non-optimized code. We consider the possibility of moving compilation to a server. We demonstrate that there is a significant benefit to moving compilation to a server (i) lower execution time by reducing the overhead of optimization; (ii) lower memory management load on the client by reducing the footprint of the optimizing compiler.