Align structures 8 byte for 64-bit platforms
This PR will decrease costs copying, moving, and creating object-structures only for common 64bit processors due to the 8-byte data alignment.
Smaller size structure or class, higher chance putting into CPU cache. Most processors are already 64 bit, so the change won't make it any worse.
Info about technique:
https://hpc.rz.rptu.de/Tutorials/AVX/alignment.shtml https://wr.informatik.uni-hamburg.de/_media/teaching/wintersemester_2013_2014/epc-14-haase-svenhendrik-alignmentinc-presentation.pdf https://en.wikipedia.org/wiki/Data_structure_alignment https://stackoverflow.com/a/20882083 https://zijishi.xyz/post/optimization-technique/learning-to-use-data-alignment/
Affected structs:
- ScreenManager 72 to 64 bytes
- Screen/DynamicIterator 24 to 16 bytes
- Meter/DynamicIterator 24 to 16 bytes
- IncMode 152 to 144 bytes
- TraceScreen 64 to 56 bytes
- LinuxProcessTable 120 to 112 bytes
- FunctionBar 40 to 32 bytes