کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
433189 1441639 2015 24 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Optimizing SYB traversals is easy!
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Optimizing SYB traversals is easy!
چکیده انگلیسی


• We investigate the reasons behind the poor performance of SYB.
• We develop an optimization for SYB using HERMIT.
• Our optimization improves SYB's performance to match that of handwritten code.
• We confirm these performance improvements with benchmarks.
• We adapt GHC to perform our optimization without the need for HERMIT.

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.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 112, Part 2, 15 November 2015, Pages 170–193
نویسندگان
, , ,