Thumbnail
Access Restriction
Open

Author Scholz, Sven-Bodo
Source CiteSeerX
Content type Text
Publisher Springer-Verlag
File Format PDF
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Data processing & computer science
Subject Keyword Powerful Tool ♦ Executable Code ♦ Versatile Vehicle ♦ Array Operation ♦ Single Loop Operation ♦ High-level Array Specification ♦ General Mechanism ♦ Compiled Code ♦ Functional Language Sac ♦ Complex Nestings ♦ Special Loop Construct ♦ Sac Condensing Consecutive Array Operation ♦ Elementwise Basis ♦ Performance Consideration ♦ Single Loop Construct ♦ New Compiler Optimization ♦ Complex Array Operation ♦ Runtime Performance ♦ Primitive Array Operation ♦ Hand-optimized With-loop Specification ♦ Single Assignment
Description . This paper introduces a new compiler optimization called with-loop-folding. It is based on a special loop construct, the with- loop, which in the functional language Sac (for Single Assignment C) serves as a versatile vehicle to describe array operations on an elementwise basis. A general mechanism for combining two of these with-loops into a single loop construct is presented. This mechanism constitutes a powerful tool when it comes to generate efficiently executable code from high-level array specifications. By means of a few examples it is shown that even complex nestings of array operations similar to those available in Apl can be transformed into single loop operations which are similar to hand-optimized with-loop specifications. As a consequence, the way a complex array operation is combined from primitive array operations does not affect the runtime performance of the compiled code, i.e., the programmer is liberated from the burden to take performance considerations into ac...
Educational Role Student ♦ Teacher
Age Range above 22 year
Educational Use Research
Education Level UG and PG ♦ Career/Technical Study
Learning Resource Type Article
Publisher Date 1997-01-01
Publisher Institution Proceedings of the 9th International Workshop on Implementation of Functional Languages (IFL’97