Nässén, Henrik and Carlsson, Mats and Sagonas, Kostis (2001) Instruction merging and specializing in the SICStus Prolog virtual machine. In: Proceedings PPDP'01, Principles and Practice of Declarative Programming, 5-7 Sep 2001, Firenze, Italy.
Wanting to improve execution speed and reduce code size of SICStus Prolog programs, we embarked on a project whose aim was to systematically investigate combination and specialisation of WAM instructions. Various variants of the SICStus Prolog virtual machine instruction set were designed, implemented, and their performance was evaluated against standard benchmarks and on big Prolog programs. In this paper, we describe our methodology in finding appropriate candidates for instruction merging and specialisation, discuss related trade-offs, present detailed statistics and performance measurements that we gathered, and report on our experiences from our involvement in this feat. In short, our experience is positive: the speedup of performing instruction merging and specialisation in the context of the SICStus emulator is approximately~10%, while the bytecode size reduction is about~15%.
|Item Type:||Conference or Workshop Item (Paper)|
|Additional Information:||3rd ACM SIGPLAN international conference.|
|Deposited By:||Dominique Johansson|
|Deposited On:||05 Aug 2008|
|Last Modified:||18 Nov 2009 16:17|
Repository Staff Only: item control page