Odd ist allerdings immer noch die schnellste Option.
Bei Odd gibt es lediglich einen TEST call auf das Lo-Byte und einen bedingten Sprung:
Code:
Project543.dpr.9: if Odd(N) then
0040A10A F60588F5400001 test byte ptr [$0040f588],$01
0040A111 741B jz $0040a12e
während der Weg über mod schon ein paar mehr CPU-Befehle braucht:
Code:
Project543.dpr.13: if N mod 2 = 0 then
0040A147 A188F54000 mov eax,[$0040f588]
0040A14C 2501000080 and eax,$80000001
0040A151 7905 jns $0040a158
0040A153 48
dec eax
0040A154 83C8FE or eax,-$02
0040A157 40 inc eax
0040A158 85C0 test eax,eax
0040A15A 751B jnz $0040a177