Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#12

AW: ZLib Speed much slower than ZLibEx

  Alt 6. Mai 2021, 08:44
Ja klar, 64 Bit sollte ja die selben mathematischen Gesetze verwenden, so wie das ganze Universum auch.


Pointer(NativeInt(param^.InBuffer) + param^.InPosition)^

(PByte(param^.InBuffer) + param^.InPosition)^

Und Delphi macht quasi implizit ein *1 da rein ... OK, diese 1 wird wegoptimiert, weil unnötig, drum findeste es hier nicht im Compilat/Assembler,
aber für Neugierige zum Nachgucken darfst es gern mal mit PLongInt versuchen.
(PByte(param^.InBuffer) + param^.InPosition * SizeOf(Byte))^

Die Pointeraritmetik, könnte man oben in der Unit über einen Compilerschalter aktivieren (bzw. den Code danach davor schützten, dass es z.B. in den Projektoptionen deaktiviert wird, wobei aber hoffentlich niemand so dumm sein sollte sowas zu machen )
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mai 2021 um 08:48 Uhr)
  Mit Zitat antworten Zitat