I don't quite understand the difference between FreePascal's
$PackRecords directive values.
The documentation says the values can be 1, 2, 4, 16, and C. I
understand the default is to align on 2 byte boundaries, and that 1
is the same as a 'packed' record, but how do I know exactly when to
choose 2, 4, 16, etc.? Are there performance gains if I use a higher
alignment value? Is a value of 2 OK to use all the time, regardless
of the size of the members of the record?


|