Programming Data Structures for Large-Scale Desktop Simulations of Complex Systems
Patrik Christen

TL;DR
This paper explores efficient data structures for large-scale complex system simulations, comparing object-lists and pointer-arrays in C# to optimize runtime and memory, guided by philosophical insights.
Contribution
It introduces a novel approach using Gilbert Simondon's concepts to analyze and implement data structures for large-scale simulations, highlighting the benefits of pointer-arrays over object-lists.
Findings
Pointer-arrays outperform object-lists in efficiency.
Avoiding dynamic typing improves performance significantly.
Implementing pointer-arrays in C# is feasible and beneficial.
Abstract
The investigation of complex systems requires running large-scale simulations over many temporal iterations. It is therefore important to provide efficient implementations. The present study borrows philosophical concepts from Gilbert Simondon to identify data structures and algorithms that have the biggest impact on running time and memory usage. These are the entity -tuple and the intertwined update function . Focusing on implementing data structures in C#, is implemented as a list of objects according to current software engineering practice and as an array of pointers according to theoretical considerations. Cellular automaton simulations with entities over one iteration reveal that the object-list with dynamic typing and multi-state readiness has a drastic effect on running time and memory usage, especially dynamic typing as it has a big…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCellular Automata and Applications · Distributed and Parallel Computing Systems · Advanced Data Storage Technologies
