Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Performance von ini-Dateien (https://www.delphipraxis.net/128018-performance-von-ini-dateien.html)

Gentleman 22. Jan 2009 20:37


Performance von ini-Dateien
 
Guten Abend.

Momentan arbeite ich in meinem Programm mit ini-Dateien. Da alles ziemlich auf Performance ausglelegt sein muss, frage ich mich nun, ob es eine schnellere Möglichkeit gibt, als das Lesen aus der ini-Datei.

Eine Alternative, die mir vorschwebt, wäre z.B. eine MyBase Datenbank oder Ähnliches. Was würde sich da am meisten empfehlen?


vielen Dank im Voraus.

omata 22. Jan 2009 20:37

Re: Performance von ini-Dateien
 
Wieviele Zeilen hat deine INI-Datei denn?

mr2 22. Jan 2009 20:39

Re: Performance von ini-Dateien
 
Hallo,

Du müsstest bitte mal etwas genauer darlegen was genau Du möchtest:

Welche Art von Daten stehen in der ini-Datei?
Wieviele Datensätze?
Willst Du nur lesen oder auch schreiben?
...

mr2

Luckie 22. Jan 2009 20:40

Re: Performance von ini-Dateien
 
Ini-Dateien werden immer komplett geschrieben. Das macht aber nichts, da sie dafür gedacht sind Prorammkonfigurationen zu speichern. Du scheinst sie aber als Datenbank zu missbrauchen, wenn ich deinen Beitrag richtig deute. Und dazu waren sie nie gedacht noch ausgelegt.

Gentleman 22. Jan 2009 20:50

Re: Performance von ini-Dateien
 
Ok, ich versuche das mal etwas genauer zu beschreiben:

Die Datei besteht aus Blöcken, die von der Form immer gleich aufgebaut sind, diese sehen ungefähr so aus:
Code:
[BLOCK1]
Abst=4,4,16
Value=6
Insgesamt sind es 60 bis 70 Zeilen, die Informationen enthalten. Die Werte sind also immer nur Integer Werte und bei "Abst" ein Integer-Array. Aus der Datei will ich nur lesen, schreiben brauche ich nicht.

thkerkmann 22. Jan 2009 20:57

Re: Performance von ini-Dateien
 
Hi,

wenn Du nur lesen willst, kannst Du doch die Datei auf einmal in ein tMemIniFile einlesen. Dann sind die Daten auf einmal komplett im Speicher, und du arbeitest darauf. Wenn es 60 - 70 Blöcke sind, mit je etwa 50-100 Bytes, so sind das ja vergleichsweise extrem wenig Daten.

Anders sieht die Sache aus, wenn eine andere Anwendung dir diese Daten ständig ändert, und Du sie dann verarbeitest, d.h. du musst mehrfach diese Daten lesen. Dann würde ich mir aber auch erst mal genau über die Datenmenge klar werden wollen, bevor ich so schwere Geschütze wie eine Datenbank ins Spiel bringe.

Gruss

Gentleman 22. Jan 2009 21:01

Re: Performance von ini-Dateien
 
Die Methode mit tMemIniFile klingt ganz interessant.

Ja stimmt, eine Datenbank ist natürlich etwas überdimensional für so eine Datenmenge, aber ich hatte halt den Gedanken, dass Datenbanken einfach etwas schneller sein könnten.

thkerkmann 22. Jan 2009 21:06

Re: Performance von ini-Dateien
 
Tja, du zahlst halt bei einer Datenbank erst mal eine hohe Eintrittsgebühr, die sich erst mit steigender Datenmenge und Komplexität wieder rechnet. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz