首页> 外文会议>ACM SIGPLAN conference on Programming Language design and Implementation >Unfold/fold transformations and loop optimization of logic programs
【24h】

Unfold/fold transformations and loop optimization of logic programs

机译:展开/折叠转换和逻辑程序的循环优化

获取原文

摘要

Programs typically spend much of their execution time in loops. This makes the generation of efficient code for loops essential for good performance. Loop optimization of logic programming languages is complicated by the fact that such languages lack the iterative constructs of traditional languages, and instead use recursion to express loops. In this paper, we examine the application of unfold/fold transformations to three kinds of loop optimization for logic programming languages: recursion removal, loop fusion and code motion out of loops. We describe simple unfold/fold transformation sequences for these optimizations that can be automated relatively easily. In the process, we show that the properties of unification and logical variables can sometimes be used to generalize, from traditional languages, the conditions under which these optimizations may be carried out. Our experience suggests that such source-level transformations may be used as an effective tool for the optimization of logicprograms.
机译:程序通常在循环中花费大量执行时间。这使得生成高效的循环代码对于提高性能至关重要。逻辑编程语言的循环优化由于缺乏传统语言的迭代结构而使用递归表示循环的事实而变得复杂。在本文中,我们研究了展开/折叠变换在逻辑编程语言的三种循环优化中的应用:递归去除,循环融合和代码移出循环。我们为这些优化描述了简单的展开/折叠转换序列,这些序列可以相对轻松地自动化。在此过程中,我们表明,有时可以使用统一属性和逻辑变量的属性从传统语言中概括可以进行这些优化的条件。我们的经验表明,这样的源级转换可以用作优化逻辑程序的有效工具。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号