Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Vorteil von auf Primzahlen skalierten Hashmaps?

  Alt 18. Jul 2010, 00:25
Ist es normal, dass Widestrings so viel langsamer sind?
ja

AnsiString und ab Delphi 2009 auch UnicodeString:
- delphieigener Typ
- Referenzzählung
- "optimierte" Speicherverwaltung über den Delphi-MemoryManager (neuerdings FastMM)

WideString:
- Umleitung auf WinAPI
- keine Referenzzählung
- (unbekannte) Speicherverwaltung über OleAuth32.dll

MSDN-Library durchsuchenSysAllocStringLen
MSDN-Library durchsuchenSysReAllocStringLen
MSDN-Library durchsuchenSysFreeString
MSDN-Library durchsuchenSysStringLen


Wozu Cardinal, wenn du am Ende alles quasi auf 1 Byte runterkürzt, bzw. den schönen Hash zerxorst?

würde es maximal so machen:
Delphi-Quellcode:
function THashMap.GetShrunkHash(AKey: Pointer): cardinal;
begin
  Result := CalculateHash(AKey) and FMask;
end;
$2B or not $2B

Geändert von himitsu (18. Jul 2010 um 00:34 Uhr)
  Mit Zitat antworten Zitat