
First of all, *thank you* for going into all this trouble and writing the code. However, ...
I have some problems with your tests.
I was going to make the same points as Robert, but he beat me to it. Additionally (I don't think this was mentioned), I don't think the verification should be part of the test, either.
When the disk-data-file was in little endian, both approaches came in at around 6 seconds.
This, I think, you'll find is the overhead of reading the file & verification. In the little endian data case, swap_in_place<>() does nothing! :)
Swap Based: 18 seconds Type Based 14 seconds
This is unexpected...
When the disk-data-file was in in little endian format both programs took about 9 seconds.
But this is as I'd expect - copying should take the same amount of time for both. Thanks again. If there is a performance discrepancy between swap (soon to be endian_cast<>) and the object-based approach, I will make sure to fix it, of course. Tom