A jak si přišel na dvojnásobný výkon, jako že 64 je 2x 32?
Takhle to ale bohužel nefunguje.
Jsou precesy, kde lze to co přináší 64bit navíc využít k prospěchu věci a pak se výpočetní operace dají urychlit třeba i o 30%, jsou situace, kdy možnosti 64bit architektury oproti 32bitu nepřináší nic navíc a rozdíl je rovný nule.
64bit přináší nové možnosti, lepší instrukční sadu....
kód v C++ sčítajícího dvě 64bitové čísla
i64j = i64val1 + i64val2
tady je překlad do strojového kódu pro 32 bit:
mov eax,dword ptr [i64val1]
add eax,dword ptr [i64val2]
mov ecx,dword ptr [ebp-14h]
adc ecx,dword ptr [ebp-1Ch]
mov dword ptr [i64j],eax
mov dword ptr [ebp-24h],ecx
stejný kód přeloženy pro 64bit
mov rax,qword ptr [i64val2]
mov rcx,qword ptr [i64val1]
add rcx,rax
mov qword ptr [i64j],rcx
6 vs 4 isntrukce strojového kódu. Není to o tom že samotné instrukce jsou rychlejší, ale že lze pracovat efektivněji. Pokud ale budu sčítat třeba jen 8 bitové čísla, 64bit i 32bit aplikace budou ve strojovém kódu stejné.
Jelikož samotní vývojáři nejsou takoví troubové a neříkají "64bit nepřinese znatelné navýšení výkonu" jen tak do větru a vědí proč to říkají.. výhoda 64bit apliace - lepší efektivita výpočtů s velkými čísly - není zřejmě aplikovatelná pro současné simulátory.
Ano přinese to možnost využití většího množství paměti, což ale samotný výkon nijak neovlivní. Jak jsem tu citoval toho jednoho vývojáře ... umožní to mít více aktivních a detailnějších addonů. Ale to taky bude ústit k vyšší náročnosti, takže ve finále naopak ten výkon půjde s 64bitem dolů |
|