DOI: https://doi.org/10.15368/theses.2022.10
Available at: https://digitalcommons.calpoly.edu/theses/2389
Date of Award
3-2022
Degree Name
MS in Computer Science
Department/Program
Computer Science
College
College of Engineering
Advisor
Christian Eckhardt
Advisor Department
Computer Science
Advisor College
College of Engineering
Abstract
The entity component system architecture (ECSA) is a data-oriented composition pattern and a data-driven design pattern. Data-oriented software takes into consideration generalized knowledge of hardware. Data-driven design is a methodology used to replace inflexible code with reusable components that can be added, deleted, or modified in interactive systems and games. This thesis explores the ECSA and its alternatives and their strengths and weaknesses. The paper details the creation of an ECSA and benchmarks its performance against object-oriented architectures. The hypothesis of this thesis is that the ECSA has CPU cache performance advantages over object-oriented architectures as tested by multiple benchmarks. The results suggest that the ECSA provides superior CPU performance. These results could be valuable for interactive game developers to get higher frame rates out of their games, MMORPG server developers to process millions of entities per second, and mobile developers to create battery-efficient apps.