Pro und Kontra XPF versus INI
Moderator: Moderatoren
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
Pro und Kontra XPF versus INI
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
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
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
Stefan,
mehr als 2 Sekunden zum einlesen einer ini mit weniger als 200 Einträgen? Ich bin baff ... Werden die zur Laufzeit erst geschnitzt?
Außerdem ist da ein Tippfehler in Deiner Liste. Der unterste Eintrag soll vermutlich nicht "ini" sonder "xpf" sein.
Jan
mehr als 2 Sekunden zum einlesen einer ini mit weniger als 200 Einträgen? Ich bin baff ... Werden die zur Laufzeit erst geschnitzt?
Außerdem ist da ein Tippfehler in Deiner Liste. Der unterste Eintrag soll vermutlich nicht "ini" sonder "xpf" sein.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
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.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
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.
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.
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
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.
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.
Herzlich,
Tom
Tom
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
Re: Pro und Kontra XPF versus INI
Ich benutze die Funktion Tinifile() von Phil Ide
Die Ini-Datei hat ingesamt etwas 375 Einträge.
Gruß Stefan
Die Ini-Datei hat ingesamt etwas 375 Einträge.
Gruß Stefan
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
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 ???
viewtopic.php?f=16&t=3705&p=113011
Gruß
Hubert
viewtopic.php?f=16&t=3705&p=113011
Gruß
Hubert
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
Jetzt nicht mehr!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
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.
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.
Gruß
Hubert
Hubert
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Pro und Kontra XPF versus INI
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.
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.
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...