1993.08.17 19:29 "Re: byte swapping 16- and 32-bit data", by Dan McCoy
I don't really have the time to make all the compression routines do the byte swapping efficiently. If I put byte swapping in the library then it will go after the decoding is done which will mean an extra pass over the data.
I really believe that the main reason most people use this library is because of it's correctness, not it's speed.
This is a rare enough case that I don't think the optimization is that critical.
Many consumers of the data will then pay the expense of the extra pass when they could have rolled it into some other operation,
If there are a significant number of people who would do the extra work to roll the byte swap into another operation, then add a settable option to turn it off.
I understand the argument about folks not getting this right because they don't test cross-platform portability. I'm very concerned about that--it's one of the main reasons that I wrote the library in the first place.
I think lack of surprises is very important.
I think a simple straightforward unoptimized byteswap after decompression, with an option to disable it would cover everybody's needs and keep the new user surprises to a minimum.