AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Set of WideChar (TDynamicCharSet)
Thema durchsuchen
Ansicht
Themen-Optionen

Set of WideChar (TDynamicCharSet)

Ein Thema von himitsu · begonnen am 9. Dez 2009 · letzter Beitrag vom 22. Apr 2010
 
Benutzerbild von himitsu
himitsu

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

Re: Set of WideChar (TDynamicCharSet)

  Alt 13. Feb 2010, 14:46
OK, daß ich geschwindigkeitsmäßig nicht an Peters IWidecharSet rankomm, war ja zu erwarten
- keine assembleroptimierten Codeteile
- und die dynamische Speicherverwaltung benötigt auch mehr Abfragen, Bereichsprüfungen und Kopierarbeiten

Allerding bin ich positiv überrascht, daß es vorallem beim Erstellen/Erstzuweisung und beim Auslesen garnicht mal so langsam ist, wie ich befürchtet hab.

Dagegen ist aber der Speicherverbrauch im Einsatz wohl um weit mehl als 50% geringer
und im Extremfall (beim Zeichenvorrat der deutschen Sprache) würden bis zu 99% gespart.

OK, daß meine Codes auch in der EXE weniger Platz verbrauchen, ist nicht wirklich von Belangen,
denn es fällt nur so sehr auf, weil die Text-Anwendungen sehr klein sind.
(ob es nun 40 KB oder 50 KB mehr sind, im Vergleich zum TSysCharSet)

Mein SET hat jetzt auch noch ein .ReadOnly bekommen, aber da es keinen Kopier-Klassen-Operator gibt,
wird dieser Status bei := leider mitkopiert.
Delphi-Quellcode:
// hier ist dann auch VarSet als ReadOnly deklariert
VarSet := ConstSet;

// so ginge es aber
VarSet.Fill(ConstSet);
Code:
***** TDynamicCharSet *****

size test [a..z]:  100.000 sets -   3,81 MB - 0,25 sec
size test [#$FFFF]: 100.000 sets - 786,21 MB - 0,55 sec
high-low fill test:       1,34 sec
low-high fill test:       1,31 sec
low exitst read test:     0,64 sec
low non exitst read test: 0,64 sec
high non exitst read test: 0,66 sec

***** IWidecharSet *****

size test [a..z]:  100.000 sets - 785,83 MB - 0,47 sec
size test [#$FFFF]: 100.000 sets - 785,83 MB - 0,52 sec
high-low fill test:       0,11 sec
low-high fill test:       0,14 sec
low exitst read test:     0,45 sec
low non exitst read test: 0,89 sec
high non exitst read test: 0,48 sec

***** TSysCharSet / Set of AnsiChar *****

size test [a..z]: 100.000 sets - 3,05 MB - 0,015 sec
size test [#$FFFF]:       not supported
high-low fill test:       0,02 sec
low-high fill test:       0,02 sec
low exitst read test:     0,08 sec
low non exitst read test: 0,08 sec
So, das sollte jetzt hoffentlich vorerst einmal das Ende des täglichen Updatemarathons sein.
Für mein anderes Projekt scheinen nun erstmal keine weiteren Wünsche/Notwendigkeiten mehr offen zu sein.
Ein Therapeut entspricht 1024 Gigapeut.
  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 01:18 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