面向异构树的无误、细粒度遍历融合——扩展版
编程语言
2019-04-22 v1 性能
摘要
许多领域的应用基于一系列对树结构的遍历,而将这些遍历融合在一起以减少遍历树的总次数是一种常见且重要的优化技术。在编译器和渲染树等应用中,这些树是异构的:树中不同节点具有不同的类型。遗憾的是,先前的遍历融合工作在不同方面存在不足:它们不处理异构性;它们需要使用领域特定语言来表达应用;它们依赖程序员断言融合遍历是安全的,而没有任何可靠性保证;或者它们只能执行粗粒度融合,导致错失融合机会。本文解决了这些缺陷,构建了一个用于融合异构树遍历的框架,该框架自动、可靠且细粒度。我们通过多个案例研究表明,我们的方法能够让程序员编写简单、直观的遍历,然后自动将其融合以显著提升性能。
引用
@article{arxiv.1904.07061,
title = {Sound, Fine-Grained Traversal Fusion for Heterogeneous Trees - Extended Version},
author = {Laith Sakka and Kirshanthan Sundararajah and Ryan R. Newton and Milind Kulkarni},
journal= {arXiv preprint arXiv:1904.07061},
year = {2019}
}
备注
Extended version of "Sound Fine-Grained Traversal Fusion for Heterogeneous Trees" Sakka et al., PLDI 2019