Abstract
Spreadsheets are used heavily in industry and academia. Often, spreadsheet models are developed for years and their complexity grows vastly beyond what the paradigm was originally conceived for. Such complexity often comes at the cost of recalculation performance. However, spreadsheet models usually have some high-level structure that can be used to improve performance by performing independent computation in parallel. In this paper, we devise rules for rewriting high-level spreadsheet structure in the form of so-called cell arrays into higher-order functional programs that can be easily parallelized on multicore processors. We implement our rule set for the experimental Funcalc spreadsheet engine which already implements parallelizable higher-order array functions as well as user-defined higher-order functions. Benchmarks show that our rewriting approach improves recalculation performance for spreadsheets that are dominated by cell arrays.
Original language | English |
---|---|
Title of host publication | International Symposium on Practical Aspects of Declarative Languages : PADL 2018: Practical Aspects of Declarative Languages |
Number of pages | 16 |
Publisher | Springer |
Publication date | 22 Dec 2017 |
Pages | 20-35 |
ISBN (Print) | 978-3-319-73304-3 |
ISBN (Electronic) | 978-3-319-73305-0 |
DOIs | |
Publication status | Published - 22 Dec 2017 |
Event | International Symposium on Practical Aspects of Declarative Languages - Los Angeles, United States Duration: 8 Jan 2018 → 9 Jan 2018 Conference number: 20 https://popl18.sigplan.org/series/PADL |
Conference
Conference | International Symposium on Practical Aspects of Declarative Languages |
---|---|
Number | 20 |
Country/Territory | United States |
City | Los Angeles |
Period | 08/01/2018 → 09/01/2018 |
Internet address |
Series | Lecture Notes in Computer Science |
---|---|
Volume | 10702 |
ISSN | 0302-9743 |
Keywords
- arrays
- expression rewriting
- functional programming
- parallelism
- performance
- spreadsheets