Thema: Delphi Random() in PurePascal

Einzelnen Beitrag anzeigen

Win32.API

Registriert seit: 23. Mai 2005
312 Beiträge
 
#6

Re: Random() in PurePascal

  Alt 15. Mai 2009, 15:01
Hi brechi,


Zitat von brechi:
wenn du dir den erstellten Assemblercode anschaust sollte es klar werden:

004035CD 31DB xor ebx,ebx
004035CF 6993087084000584 imul edx,[ebx+$00847008],$08088405


wird wohl schneller sein als ein

mov ebx, randseed
imul edx, ebx, $08088405
Kann man es nicht einfach so umschreiben:

Delphi-Quellcode:
xor ebx,ebx
imul edx,[ebx+$00847008],$08088405
->
imul edx,[0 + $00847008],$08088405
->
imul edx,[$00847008],$08088405
Das ist doch bestimmt schneller als erst EBX auf 0 zu setzen und dann nochmal auf EBX lesend zugreifen (Das PUSH/POP nicht zu vergessen).


Zitat von brechi:
bei einem

mov ebx, 0

wird die 0 (0 als opcode parameter) sehr wohl aus dem speicher geladen
Da hast du recht, habe nicht soweit gedacht. Für mich ist es aber kein "echtes" laden, da der OP-Code immer "geladen" werden muss.



Gruß
  Mit Zitat antworten Zitat