Optimizing SYB traversals is easy!

Optimizing SYB traversals is easy!
复制标题

优化 SYB 遍历非常简单!

DOI:
10.1016/j.scico.2015.09.003
复制
发表时间:
2015
影响因子:
1.3
通讯作者:
Adams M
Adams M
中科院分区:
计算机科学4区
文献类型:
--
作者:
Adams M

文献摘要

参考文献

被引文献

相似文献

Haskell 社区中使用最广泛的通用编程系统 Scrap Your Boilerplate (SYB) 也恰好是最慢的系统之一。 SYB 中的通用遍历通常比等效的手写非通用遍历慢一个数量级。因此,虽然 SYB 允许简洁地表达许多遍历,但它的使用会产生显着的运行时成本。现有的用于优化其他通用编程系统的技术无法消除这种开销。本文提出了一种消除这种成本的优化方法。本质上,它是利用有关 SYB 结构的特定领域知识的部分评估。它将 SYB 遍历优化为与手写的非通用代码一样快,并且基准测试表明,这种优化将 SYB 遍历的速度提高了一个数量级或更多。
The most widely used generic-programming system in the Haskell community, Scrap Your Boilerplate (SYB), also happens to be one of the slowest. Generic traversals in SYB are often an order of magnitude slower than equivalent handwritten, non-generic traversals. Thus while SYB allows the concise expression of many traversals, its use incurs a significant runtime cost. Existing techniques for optimizing other generic-programming systems are not able to eliminate this overhead.This paper presents an optimization that eliminates this cost. Essentially, it is a partial evaluation that takes advantage of domain-specific knowledge about the structure of SYB. It optimizes SYB traversals to be as fast as handwritten, non-generic code, and benchmarks show that this optimization improves the speed of SYB traversals by an order of magnitude or more.
树中的隐士 - GHC 核心语言中的机械化程序转换
DOI: 10.1007/978-3-642-41582-1_6
发表时间: 2012
期刊: The American journal of psychiatry
影响因子: --
作者:
Neil Sculthorpe;Andrew Farmer;Andy Gill
通讯作者: Andy Gill
DOI: 10.1353/sir.0.0318
发表时间: 2010
期刊: Sirena: poesia, arte y critica
影响因子: --
作者:
M. Kaléko;A. Nolte
通讯作者: A. Nolte
Haskell 构建的产品结果分析
DOI: 10.1017/s0956796803004751
发表时间: 2004
影响因子: 1.1
作者:
C. Baker;Kevin Glynn;S. Jones
通讯作者: S. Jones
Glasgow Haskell 编译器内联器的秘密
DOI: --
发表时间: 2002
影响因子: 1.1
作者:
S. Jones;S. Marlow
通讯作者: S. Marlow
DOI: 10.5120/37-640
发表时间: 2010-02
期刊: International Journal of Computer Applications
影响因子: --
作者:
Aruna Raja;Devika Lakshmanan
通讯作者: Aruna Raja;Devika Lakshmanan