Optimizing SYB is easy!

Optimizing SYB is easy!
复制标题

优化 SYB 很简单!

DOI:
10.1145/2543728.2543730
复制
发表时间:
2014
期刊:
--
影响因子:
--
通讯作者:
Adams M
Adams M
中科院分区:
--
文献类型:
--
作者:
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 completely eliminates this cost. Essentially, it is a partial evaluation that takes advantage of domain-specific knowledge about the structure of SYB. It optimizes SYB-style traversals to be as fast as handwritten, non-generic code, and benchmarks show that this optimization improves the speed of SYB-style code 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: --
发表时间: 2008
期刊: ACM SIGPLAN Symposium/Workshop on Haskell
影响因子: --
作者:
A. R. Yakushev;J. Jeuring;Patrik Jansson;Alex Gerdes;O. Kiselyov;B. C. D. S. Oliveira
通讯作者: B. C. D. S. Oliveira