In reply to @null_pointer0 "Yeah but if you": As long as you avoid the `ref` keyword in Nim, the vast majority of your data is on the stack or managed by stack pointers. Nim and gcc are going to optimize a lot of the cache and alignment issues for you; plus, if you're running this stuff on a modern x86 processor, you're talking multiple levels of cache so huge that worrying about an L1 cache miss is splitting hairs so small they're basically strings in the Planck domain. Worry less about optimization and more about making maintainable software and well-modeled abstractions first.