TY - GEN
T1 - Automatically Transforming Arrays to Columnar Storage at Run Time
AU - Kloibhofer, Sebastian
AU - Makor, Lukas
AU - Leopoldseder, David
AU - Bonetta, Daniele
AU - Stadler, Lukas
AU - Mössenböck, Hanspeter
PY - 2022
Y1 - 2022
N2 - Picking the right data structure for the right job is one of the key challenges for every developer. However, especially in the realm of object-oriented programming, the memory layout of data structures is often still suboptimal for certain data access patterns, due to objects being scattered across the heap. Therefore, this work presents an approach for the automated transformation of arrays of objects into a contiguous format (called columnar arrays). At run time, we identify suitable arrays, perform the transformation and use a dynamic compiler to gain performance improvements. In the evaluation, we show that our approach can improve the performance of certain queries over large, uniform arrays.
AB - Picking the right data structure for the right job is one of the key challenges for every developer. However, especially in the realm of object-oriented programming, the memory layout of data structures is often still suboptimal for certain data access patterns, due to objects being scattered across the heap. Therefore, this work presents an approach for the automated transformation of arrays of objects into a contiguous format (called columnar arrays). At run time, we identify suitable arrays, perform the transformation and use a dynamic compiler to gain performance improvements. In the evaluation, we show that our approach can improve the performance of certain queries over large, uniform arrays.
UR - https://www.scopus.com/pages/publications/85145780768
UR - https://www.scopus.com/inward/citedby.url?scp=85145780768&partnerID=8YFLogxK
U2 - 10.1145/3546918.3560805
DO - 10.1145/3546918.3560805
M3 - Conference contribution
SP - 141
EP - 143
BT - MPLR 2022
A2 - Boix, Elisa Gonzalez
A2 - Wrigstad, Tobias
PB - Association for Computing Machinery, Inc
T2 - 19th International Conference on Managed Programming Languages and Runtimes, MPLR 2022
Y2 - 14 September 2022 through 15 September 2022
ER -