Transformations for optimizing interprocess communication and synchronization mechanisms
International Journal of Parallel Programming
Obtaining sequential efficiency for concurrent object-oriented languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Sequentialization of Parallel Logic Programs with Mode Analysis
LPAR '93 Proceedings of the 4th International Conference on Logic Programming and Automated Reasoning
Heap architectures for concurrent languages using message passing
Proceedings of the 3rd international symposium on Memory management
Energy-optimizing source code transformations for operating system-driven embedded software
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 0.00 |
We describe a profile-driven compiler optimization technique for inter-process optimization, which dynamically inlines the effects of sending messages. Profiling is used to find optimization opportunities, and to dynamically trigger recompilation and optimization at run-time. We apply the optimization technique on the concurrent programming language ERLANG, letting recompilation take place in a separate ERLANG process, and taking advantage of the facilities provided by ERLANG to dynamically replace code at run-time. We have implemented a prototype inter-process profiler and optimizer, that can handle small programs. Measurements on synthetic benchmarks show encouraging speedups of up to 1.8 times.