{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,2]],"date-time":"2022-04-02T05:09:04Z","timestamp":1648876144925},"reference-count":20,"publisher":"Cambridge University Press (CUP)","issue":"4","license":[{"start":{"date-parts":[[2007,7,1]],"date-time":"2007-07-01T00:00:00Z","timestamp":1183248000000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2007,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Control flow compilation is a hybrid between classical WAM compilation and meta-call, limited to the compilation of non-recursive clause bodies. This approach is used successfully for the execution of dynamically generated queries in an inductive logic programming setting (ILP). Control flow compilation reduces compilation times up to an order of magnitude, without slowing down execution. A lazy variant of control flow compilation is also presented. By compiling code by need, it removes the overhead of compiling unreached code (a frequent phenomenon in practical ILP settings), and thus reduces the size of the compiled code. Both dynamic compilation approaches have been implemented and were combined with query packs, an efficient ILP execution mechanism. It turns out that locality of data and code is important for performance. The experiments reported in the paper show that lazy control flow compilation is superior in both artificial and real life settings.<\/jats:p>","DOI":"10.1017\/s1471068406002894","type":"journal-article","created":{"date-parts":[[2007,6,19]],"date-time":"2007-06-19T14:25:47Z","timestamp":1182263147000},"page":"481-498","source":"Crossref","is-referenced-by-count":1,"title":["Fast Frequent Querying with Lazy Control Flow Compilation"],"prefix":"10.1017","volume":"7","author":[{"given":"REMKO","family":"TRON\u00c7ON","sequence":"first","affiliation":[]},{"given":"GERDA","family":"JANSSENS","sequence":"additional","affiliation":[]},{"given":"BART","family":"DEMOEN","sequence":"additional","affiliation":[]},{"given":"HENK","family":"VANDECASTEELE","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2007,7,1]]},"reference":[{"key":"S1471068406002894_ref11","unstructured":"Ramon J. and Struyf J. 2004. Efficient theta-subsumption of sets of patterns. In Proceedings of the 13th Belgian-Dutch Conference on Machine Learning. 95\u2013102."},{"key":"S1471068406002894_ref8","first-page":"1","volume-title":"Proceedings of the Eleventh Benelux Workshop on Logic Programming","author":"Demoen","year":"1999"},{"key":"S1471068406002894_ref15","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-55460-2_35"},{"key":"S1471068406002894_ref10","doi-asserted-by":"crossref","unstructured":"hipP. 2004. A high performance prolog system. http:\/\/www.cs.kuleuven.be\/~dtai\/hipp\/.","DOI":"10.1007\/978-3-322-82497-4_42"},{"key":"S1471068406002894_ref2","unstructured":"Ait-Kaci H. 1990. The WAM: a (real) tutorial. Tech. Rep. 5, DEC Paris Research Report. http:\/\/www.isg.sfu.ca\/~hak\/documents\/wam.html."},{"key":"S1471068406002894_ref4","doi-asserted-by":"publisher","DOI":"10.1016\/S0004-3702(98)00034-4"},{"key":"S1471068406002894_ref6","unstructured":"Damas L. and Santos Costa V. 2003. YAP User's manual. http:\/\/yap.sourceforge.net."},{"key":"S1471068406002894_ref5","unstructured":"Blockeel H. , Dehaspe L. , Demoen B. , Janssens G. , Ramon J. and Vandecasteele H. 2002. Improving the efficiency of Inductive Logic Programming through the use of query packs. Journal of Artificial Intelligence Research 16, 135\u2013166. http:\/\/www.cs.kuleuven.be\/cgi-bin-dtai\/publ_info.pl?id=36467."},{"key":"S1471068406002894_ref3","doi-asserted-by":"publisher","DOI":"10.1145\/857076.857077"},{"key":"S1471068406002894_ref9","unstructured":"DTP. The developmental therapeutics program. U.S. Departement of Health and Human Services NIH, National Cancer Institute NCI. http:\/\/dtp.nci.nih.gov."},{"key":"S1471068406002894_ref1","unstructured":"ACE. 2000. The ACE data mining system. http:\/\/www.cs.kuleuven.be\/dtai\/ACE\/."},{"key":"S1471068406002894_ref13","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48751-4_27"},{"key":"S1471068406002894_ref12","unstructured":"Srinivasan A. 2001. The Aleph manual. http:\/\/web.comlab.ox.ac.uk\/oucl\/research\/areas\/machlearn\/Aleph\/."},{"key":"S1471068406002894_ref18","unstructured":"Tron\u00e7on R. , Vandecasteele H. , Struyf J. , Demoen B. and Janssens G. 2003. Query optimization: Combining query packs and the once-tranformation. In Inductive Logic Programming, 13th International Conference, ILP 2003, Szeged, Hungary, Short Presentations. 105\u2013115. http:\/\/www.cs.kuleuven.be\/cgi-bin-dtai\/publ_info.pl?id=40938."},{"key":"S1471068406002894_ref19","first-page":"103","volume-title":"First International Conference on Computational Logic: Workshop on Parallelism and Implementation Technology for (Constraint) Logic Programming Languages","author":"Vandecasteele","year":"2000"},{"key":"S1471068406002894_ref20","unstructured":"Warren D. H. D. 1983. An abstract Prolog instruction set. Tech. Rep. 309, SRI."},{"key":"S1471068406002894_ref14","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(95)00122-0"},{"key":"S1471068406002894_ref7","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-60454-5_30"},{"key":"S1471068406002894_ref16","unstructured":"Tron\u00e7on R. , Janssens G. and Demoen B. 2003. Alternatives for compile & run in the WAM. In Proceedings of CICLOPS 2003: Colloquium on Implementation of Constraint and LOgic Programming Systems. University of Porto, 45\u201358. Technical Report DCC-2003-05, DCC - FC & LIACC, University of Porto, December 2003. http:\/\/www.cs.kuleuven.be\/cgi-bin-dtai\/publ_info.pl?id=41065."},{"key":"S1471068406002894_ref17","unstructured":"Tron\u00e7on R. , Janssens G. and Vandecasteele H. 2004. Fast query evaluation with (lazy) control flow compilation. In Logic Programming, 20th International Conference, ICLP 2004, Proceedings. Lecture Notes in Artificial Intelligence, vol. 3132. Springer Verlag, 240\u2013253. http:\/\/www.cs.kuleuven.be\/cgi-bin-dtai\/publ_info.pl?id=41198."}],"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068406002894","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,4,29]],"date-time":"2019-04-29T04:49:39Z","timestamp":1556513379000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068406002894\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,7]]},"references-count":20,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2007,7]]}},"alternative-id":["S1471068406002894"],"URL":"https:\/\/doi.org\/10.1017\/s1471068406002894","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2007,7]]}}}