B
bob_jenkins
When comparing strings, if a machine is big-endian, even if strings are
not aligned, you can do some shifts then do word comparisons rather
than byte-by-byte comparisons. Little-endian machines, though, haven't
much choice but to read strings byte by byte during comparisons. The
expense of those shifts is a little less than the cost of reading
things byte-by-byte on 32-bit machines. But on 64-bit machines, the
shift-and-compare-words approach is much faster than the byte-by-byte
approach.
So being big-endian has an advantage, and it's a bigger advantage for
64-bit machines than it is for 32-bit machines. How much does this
matter? I know databases spend a lot of time doing comparisons.
not aligned, you can do some shifts then do word comparisons rather
than byte-by-byte comparisons. Little-endian machines, though, haven't
much choice but to read strings byte by byte during comparisons. The
expense of those shifts is a little less than the cost of reading
things byte-by-byte on 32-bit machines. But on 64-bit machines, the
shift-and-compare-words approach is much faster than the byte-by-byte
approach.
So being big-endian has an advantage, and it's a bigger advantage for
64-bit machines than it is for 32-bit machines. How much does this
matter? I know databases spend a lot of time doing comparisons.