| ▲ | sltkr 6 hours ago | |
Are you sure you are comparing apples with apples here? The fact that i686 is 14% faster than x86_64 is a little suspicious, because usually the same software runs _faster_ on x86_64 (despite the increased memory use) thanks to a larger register set, an optimized ABI, and more vector instructions. Of course, if you are compiling an i686 binary on i686, and an x86_64 binary on x86_64, then the compilers aren't really doing the same work, since their output is different. I'm not a compiler expert, but I could imagine that compiling x86_64 binaries is intrinsically slower than for i686 for a variety of reasons. For example, x86_64 is mostly a superset of i686, so a compiler has way more instructions to consider, including potential optimizations using e.g. SIMD instructions that don't exist on i686 at all. Or a compiler might assume a larger instruction cache size, by default, and do more unrolling or inlining when compiling for x86_64. And so on. In that case, compiling on x86_64 is slower not because the hardware is bad but because the compiler does more work. Perhaps something similar is happening on RISC-V. | ||
| ▲ | jmalicki 5 hours ago | parent | next [-] | |
It isn't crazy uncommon to see i686 be faster - usually it means you're memory bandwidth bound. But yeah, it may mean the benchmark is not representative. | ||
| ▲ | 3 hours ago | parent | prev | next [-] | |
| [deleted] | ||
| ▲ | fweimer 6 hours ago | parent | prev [-] | |
The x86-64 build runs about 50% more linker tests than the i686 build. | ||