Results

100,000 enemies, 1,000 times.

1Enemy

class Enemy {
    Vector3 m_position;    //   0
    ... 18 more fields ...
    Vector3 m_direction;   // 144
    ... 20 more fields ...
    float   m_velocity;    // 292
    ... 19 more fields ...
};  // 428 bytes, 60 fields
—baseline

2Enemy, fields grouped

class Enemy {
    Vector3 m_position;    //   0
    Vector3 m_direction;   //  12
    float   m_velocity;    //  24
    ... the other 57 ...   //  28
};  // 428 bytes, 60 fields
—faster

ready