Self-tuning resource aware specialisation for prolog

Stephen-John Craig, Michael Leuschel
2005 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming - PPDP '05  
The paper develops a self-tuning resource aware partial evaluation technique for Prolog programs, which derives its own control strategies tuned for the underlying computer architecture and Prolog compiler using a genetic algorithm approach. The algorithm is based on mutating the annotations of offline partial evaluation. Using a set of representative sample queries it decides upon the fitness of annotations, controlling the trade-off between code explosion, speedup gained and specialisation
more » ... e. The user can specify the importance of each of these factors in determining the quality of the produced code, tailouring the specialisation to the particular problem at hand. We present experimental results for our implemented technique on a series of benchmarks. The results are compared against the aggressive termination based binding-time analysis and optimised using different measures for the quality of code. We also show that our technique avoids some classical pitfalls of partial evaluation. It is much less obvious to us how one could use a genetic algorithm to effectively optimize online specialisation.
doi:10.1145/1069774.1069777 dblp:conf/ppdp/CraigL05 fatcat:lyzal2i64bhsnlhqqj5pcxmmnm