Interesting! I wonder if you have used PGO in the project? Forcing fields to be located next to each other kind of feels like something that PGO could do for you.
I basically did manual PGO because I was also reducing the size of several integer fields at the same time to pack more into each cache line. Iām excited to try out the rustc+LLVM PGO for future optimizations.