Seite 1 von 1

Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 12:32
von mini990
Hallo,
ich setze bei mir XPF-Dateien und INI-Dateien ein.
Nun fällt mir beim testen folgendes auf:
Einlesen von 184 Werten aus einer lokal abgelegten Ini-Datei: 2,6 Sekunden
Einlesen von 184 Werten aus einer im Netz abgelegten Ini-Datei: 3,0 Sekunden
Einlesen von 184 Werten aus einer lokal abgelegten XPF-Datei: 0,1 Sekunden
Einlesen von 184 Werten aus einer im Netz abgelegten Ini-Datei: 0,1 Sekunden

Was spricht für / gegen den Einsatz von XPF bzw. INI?
INI pro: leicht zu bearbeiten
INI kontra: langsam

XPF pro: sehr schnell
XPF kontra: nicht ohne Hilfsmittel lesbar editierbar

Eure Meinung?

Gruß Stefan
PS: Ich hatte in den letzen 32 Jahren weder bei mir noch einem Anwender jemals eine korrupte MEM/XPF Datei

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 12:41
von Jan
Stefan,

mehr als 2 Sekunden zum einlesen einer ini mit weniger als 200 Einträgen? Ich bin baff ... Werden die zur Laufzeit erst geschnitzt? :-D

Außerdem ist da ein Tippfehler in Deiner Liste. Der unterste Eintrag soll vermutlich nicht "ini" sonder "xpf" sein.

Jan

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 12:46
von Tom
Wie liest Du aus der INI, Stefan? Ich nehme an, Du holst Dir die Werte einzeln, oder? Bei XPF erzeugst Du immer alle Speichervariablen in ihrer Gesamtheit (neu), wobei es nach meiner Erfahrung nur wenig Unterschiede macht, ob das nun 100 oder 1000 Variablen sind. Vermutlich holst Du die Werte aus der INI einzeln nacheinander ab - und das jedes Mal unter Neuvergabe von Handles usw.

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 13:03
von brandelh
Nutzt du die API Funktionen zum Lesen der INI oder eine selbstgebastelte Funktion ?

200 Aufrufe mit fopen() suchen fclose() etc. und zuordnen zu Variablen muss länger dauern als die interne Speicherung der Vars in einer Datei (auf einen Rutsch alles auf die Platte).

DIe INI API Funktionen sind nach meiner Erfahrung schnell und auch auf konkurierenden Betrieb ausgelegt, aber ich habe keine 200 Werte die ich so einlese.
Die API Funktionen kann man auch nutzen um komplette Bäume auf einmal zu lesen (wie man das dann umsetzt bin ich überfragt), soweit ich mich erinnere.

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 13:28
von Tom
Der Geschwindigkeitsunterschied ergibt sich aus der Art des Zugriffs. Bei INIs arbeitet man auf einzelnen Daten/Einträgen, XPFs laden und speichern immer alles auf einmal. Das macht dann auch den inhaltlichen Unterschied aus: Im Mehrbenutzerbetrieb kann das heikel werden, wenn ein Benutzer immer eine gesamte Variablengruppe ändert, obwohl es möglicherweise nur um einen einzelnen Wert geht. Bei INIs ist das kein Problem, da kann man auch einzelne Werte gut lesen und schreiben, ohne bezogen auf den Rest anderen Benutzern die Füße wegzureißen. Allerdings erfahren sie von den neuen INI-Werten auch erst, wenn sie direkt darauf zugreifen, also genau dieser Wert erneut eingelesen wird. Anders gesagt: Man muss vor jedem Schreibzugriff laden und den aktuellen Wert anzeigen, um sicherzustellen, dass nicht falsch überschrieben wird. Dieses Problem ist bei XPF aber u.U. noch haariger, weil es immer um alles geht, es sei denn, man verteilt viele Daten auf viele Dateien. Das geht natürlich auch.
XPFs sind in der Anwendung aus dem Programm heraus aber bequemer, weil man eigentlich fast nichts tun muss - nur die Variablen richtig benennen. Und dass man von außen kaum rankommt, halte ich für einen Vorteil. Allerdings haben wir uns vor ewigen Zeiten auch einen XPF-Editor für unseren Support geschrieben.

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 13:35
von mini990
Ich benutze die Funktion Tinifile() von Phil Ide
Die Ini-Datei hat ingesamt etwas 375 Einträge.

Gruß Stefan

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 13:45
von brandelh
In der Wissensbasis habe ich die Funktionen veröffentlicht, die die Windows API direkt nutzen, allerdings fehlen die PRG und XPJ Dateien, da diese gesperrt wurden ??? ADMINS ???

:arrow: viewtopic.php?f=16&t=3705&p=113011

Gruß
Hubert

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 14:03
von Martin Altmann
brandelh hat geschrieben: Mi, 11. Jul 2018 13:45... allerdings fehlen die PRG und XPJ Dateien, da diese gesperrt wurden ??? ADMINS ???
Jetzt nicht mehr!

Viele Grüße,
Martin

Re: Pro und Kontra XPF versus INI

Verfasst: Mi, 11. Jul 2018 14:34
von brandelh
jetzt habe ich eine neue ZIP Datei angehängt und sehe aber nicht was drinn war ist sehr seltsam ... mal den anderern Browser nutzen, auf jeden Fall:

Schreiben von 500 Variablen per einzelnem SETINI() Aufruf dauert auf meinem 6 Jahre alten HP i5 Rechner (mit SSD) 1,5 Sekunden.
Das Lesen dieser 500 Variablen und Zuweisung zu xTemp nur 0,22 Sekunden.

Re: Pro und Kontra XPF versus INI

Verfasst: Fr, 13. Jul 2018 8:01
von Herbert
Die Frage ist doch eher, was ist denn in diesen Variablen abgelegt?
Der schnellste Weg ist, diesen Weg möglichst nicht anzuwenden. Wichtige Grundwerte gehören in eine Tabelle und sind so blitzschnell im Zugriff. Wir verwendeten früher viele Benutzereinstellungen in .ini. Heute lagern wir etwa die Hälfte davon in einer User-Tabelle (die es ohnehin schon gab) oder in anderen Tabellen. Viel schneller, effektiver und sicherer. Eine Datei mit Eisntellungen kann gelöscht werden und alle Werte sind weg.