Kamil K. lubie placki
Temat: Mój minitest 32 vs 64
Aplikacja 2000 linii w c++. Tworząca sporo obiektów. Wyniki mnie troszkę zdziwiły.Mam dwie hipotezy:
1. Kod skompilowany pod 64bit jest zauważalnie szybszy
2. Kod 32bit jest wykonywany wyraźnie wolniej w systemie 64bit. (wersja 32 i 64 korzystają z nieco innych bibliotek)
Która hipoteza jest prawdziwa?
$ ldd a-32.out
linux-gate.so.1 => (0xf7f49000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7e30000)
libm.so.6 => /lib32/libm.so.6 (0xf7e0c000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7de0000)
libc.so.6 => /lib32/libc.so.6 (0xf7c8b000)
/lib/ld-linux.so.2 (0xf7f4a000)
$ ldd a-64.out
linux-vdso.so.1 => (0x00007fff8adff000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f8a9ecfa000)
libm.so.6 => /lib/libm.so.6 (0x00007f8a9ea77000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f8a9e85d000)
libc.so.6 => /lib/libc.so.6 (0x00007f8a9e50c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8a9f00a000)
Kamil K. edytował(a) ten post dnia 13.10.09 o godzinie 10:56
$ time ./a-32.out<br />
real 0m6.639s<br />
user 0m6.636s<br />
sys 0m0.008s<br />
$ time ./a-64.out<br />
real 0m3.610s<br />
user 0m3.608s<br />
sys 0m0.000s<br />