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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to