首页> 外文会议>International Symposium on Trends in Functional Programming >Memoized Flat Closures for CPS or Taming Memory Allocation for λ in CPS
【24h】

Memoized Flat Closures for CPS or Taming Memory Allocation for λ in CPS

机译:用于CPS或CPS中λ的λ的封闭式封闭件

获取原文

摘要

Compilers for functional languages are judged, in part, on how well they handle λ-expressions. The evaluation of λ-expressions traditionally requires closure allocations which can be intensive and can interact poorly with a garbage collector. Work on closure representation and garbage collection has successfully improved this interaction. This work, however, does not address the actual allocation of closures in the first place. This is important, because the only closures that do not have to be garbage collected are the closures that are never allocated. This article explores a novel mechanism to reduce flat-closure allocations based on memoization. To test this new mechanism, a compiler has been developed that uses continuation-passing style as an intermediate representation-which makes closure allocation ubiquitous. Empirical results strongly suggest that flat-closure memoization is an important optimization that significantly reduces running time as well as memory and closure allocation.
机译:部分判断功能语言的编译器,部分地判断它们如何处理λ表达式。 λ表达的评估传统上需要封闭拨款,可以密集,并且可以与垃圾收集器相互作用。关闭闭包表示和垃圾收集已成功提高了这种互动。然而,这项工作在第一位置不会解决实际封闭的分配。这很重要,因为没有收集的垃圾的唯一封闭是从未分配的封闭件。本文探讨了基于备忘的缩小封闭划分的新机制。为了测试这种新机制,已经开发了一个编译器,它使用延续传递风格作为中间代表 - 这使得闭合分配普遍存在。经验结果强烈表明,平坦封闭备忘录是一个重要的优化,可显着减少运行时间以及内存和闭合分配。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号