When components of a system exchange data, they need to serialise the data so that it can be sent over the network. Then, the recipient has to deserialise the data in order to be able to process it. These steps take time and have an impact on the overall system’s performance.
A solution to this is to use \textbf{packed data}, which has a unified representation between the memory and the network, removing the need for any marshalling steps. Additionally, using this data representation can improve the program’s performance thanks to the data locality enabled by the compact representation of the data in memory. Unfortunately, no mainstream programming languages support packed data, whether it’s out-of-the-box or through a compiler extension.
We present \textit{packed-data}, a Haskell library that allows for type safe building and reading of packed data in a functional style. The library does not rely on compiler modifications, making it portable, and leverages meta-programming to allow programmers to pack their own data types effortlessly.
We evaluate the usability and performance of the library, and conclude that it allows traversing packed data up to 60% faster than \textit{unpacked} data. We also reflect on how to enhance the performance of library-based support for packed data.
Our implementation approach is general and can easily be used with any programming languages that support higher-kinded types.
Mon 30 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:15 - 17:39 | Object-Oriented and Dynamic SystemsTechnical Papers at Auditorium M003 Chair(s): Sebastian Erdweg JGU Mainz | ||
16:15 21mTalk | Declarative Dynamic Object Reclassification Technical Papers Riccardo Sieve University of Oslo, Eduard Kamburjan IT University of Copenhagen, Ferruccio Damiani University of Turin, Einar Broch Johnsen University of Oslo | ||
16:36 21mTalk | In-memory Object Graph StoresRemote Technical Papers Aditya Thimmaiah The University of Texas at Austin, Zijian Yi The University of Texas at Austin, Joseph Kenis The University of Texas at Austin, Chris Rossbach University of Texas at Austin; Katana Graph, Milos Gligoric The University of Texas at Austin | ||
16:57 21mTalk | Spegion: Implicit and Non-Lexical Regions with Sized Allocations Technical Papers | ||
17:18 21mTalk | Type-safe and portable support for packed data Technical Papers |