Improving the execution speed of compiled prolog with modes, clause selection, and determinism
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
Journal of Logic Programming
A matching tree oriented abstract machine for Prolog
Logic programming
Unification factoring for efficient execution of logic programs
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Fast Frequent Querying with Lazy Control Flow Compilation
Theory and Practice of Logic Programming
The Life of a Logic Programming System
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
On Improving the Efficiency of Deterministic Calls and Answers in Tabled Logic Programs
EPIA '09 Proceedings of the 14th Portuguese Conference on Artificial Intelligence: Progress in Artificial Intelligence
On Just in Time Indexing of Dynamic Predicates in Prolog
EPIA '09 Proceedings of the 14th Portuguese Conference on Artificial Intelligence: Progress in Artificial Intelligence
Design, implementation, and evaluation of a dynamic compilation framework for the YAP system
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Towards a jitting VM for prolog execution
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
On the implementation of the probabilistic logic programming language problog
Theory and Practice of Logic Programming
Design patterns for tabled logic programming
INAP'09 Proceedings of the 18th international conference on Applications of declarative programming and knowledge management
When does it pay off to use sophisticated entailment engines in ILP?
ILP'10 Proceedings of the 20th international conference on Inductive logic programming
On the implementation of the CLP(BN) language
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Formalization of treatment guidelines using Fuzzy Cognitive Maps and semantic web tools
Journal of Biomedical Informatics
Theory and Practice of Logic Programming - Prolog Systems
The language features and architecture of b-prolog
Theory and Practice of Logic Programming - Prolog Systems
Hi-index | 0.00 |
As logic programming applications grow in size, Prolog systems need to efficiently access larger and larger data sets and the need for any- and multiargument indexing becomes more and more profound. Static generation of multiargument indexing is one alternative, but applications often rely on features that are inherently dynamic which makes static techniques inapplicable or inaccurate. Another alternative is to employ dynamic schemes for flexible demand-driven indexing of Prolog clauses. We propose such schemes and discuss issues that need to be addressed for their efficient implementation in the context of WAM-based Prolog systems.We have implemented demand-driven indexing in two different Prolog systems and have been able to obtain non-negligible performance speedups: from a few percent up to orders of magnitude. Given these results, we see very little reason for Prolog systems not to incorporate some form of dynamic indexing based on actual demand. In fact, we see demand-driven indexing as only the first step towards effective runtime optimization of Prolog programs.