AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherbedarf von TStringList

Ein Thema von DevilsCamp · begonnen am 18. Feb 2005 · letzter Beitrag vom 18. Feb 2005
 
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Speicherbedarf von TStringList

  Alt 18. Feb 2005, 11:43
Zitat von DevilsCamp:
und würde gerne wissen, wieviel Speicher das ganze verbraucht um evtl. eine Optimierung vornehmen zu können...
Length(stlarr) * SizeOf(Pointer) + 8

Wobei aber der von TStringList reservierte Speicher nicht eingerechnet ist, da dein Array bis jetzt nur "NIL" enthält.

Zitat:
in der StringList werden immer nur Strings vom Typ String[12] gespeichert...
Das interessiert die StringList nicht. Die hält ihre Daten in einem AnsiString und der ist dynamisch. AnsiString braucht immer 4 Byte (Zeiger) und dann je nach Inhalt zusätzlich 0 Byte (Leerstring) oder 9 Byte (1 Zeichen) bis 2GB (Userspace-Adressraum-Ende).

Um den benötigten Speicher zu ermitteln könnte man so vorgehen:
Delphi-Quellcode:
Size := List.InstanceSize;
Inc(Size, List.Capacity * 8) // record für jedes Item (Objects[] + Strings[])
for i := 0 to List.Count - 1 do
  if List[i] <> 'then
    Inc(Size, 8 + Length(List[i]));
Das muss aber nicht vollständig sein.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz