On Monday 22 June 2009, Jörn Engel wrote: > Four loops doing the same increment with different data types: long, > u64, we32 (wrong-endian) and we64. Compile with no optimizations. > > Results on my i386 notebook: > long: 453953 us > we32: 880273 us > u64: 504214 us > we64: 2259953 us > loops: 100000000 (couldn't resist) The we64 number is artificially high because the glibc bswap_64 implementation forces the conversion to be done on the stack. Using __builtin_bswap64 make this look more logical, and makes your point even stronger (on core 2, using -m32): long: 236792 us we32: 500827 us u64: 265990 us we64: 757380 us loops: 100000000 Arnd <>< -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html