This is because the source code is objected oriented which is not cpu cache
friendly, making the program slower than it has to be. Yuzu's entire
codebase is written in a objected oriented way and I wonder how much faster
it could if they had use DoD principles from the very beginning.
That's why I want to instill DoD fundamentals early on so this won't be a
problem going forward.
Signed-off-by: Ronald Caesar <github43132@proton.me>
I wanted a fast and predictable memory allocator before I start working on the virtual filesystem.
Functions like malloc and realloc will not be used anymore, instead, the allocator will
need to be passed as a function parameter when doing any kind of heap allocation. For example
char* create_string(Memory::Arena *allocator);
int* create_int_array(Memory::Arena *allocator, int size);
The definition MEMORY_CAPACITY in arena.h sets the amount of memory the arena can use.
The number can be increased as needed.
Signed-off-by: Ronald Caesar <github43132@proton.me>