LabVIEWForum.de
Max. Größe einer Konfig-Datei (INI) 64 KB? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Max. Größe einer Konfig-Datei (INI) 64 KB? (/Thread-Max-Groesse-einer-Konfig-Datei-INI-64-KB)



Max. Größe einer Konfig-Datei (INI) 64 KB? - Matze - 15.06.2012 11:20

Hi zusammen,

liegt die maximale Dateigröße einer LabVIEW-Konfig-Datei (INI-Datei) unter Windows bei 64 KB oder kann man zuverlässig auch mit größeren Dateien arbeiten?

Grüße
Matze


RE: Max. Größe einer Konfig-Datei (INI) 64 KB? - rolfk - 15.06.2012 11:43

(15.06.2012 11:20 )Matze schrieb:  Hi zusammen,

liegt die maximale Dateigröße einer LabVIEW-Konfig-Datei (INI-Datei) unter Windows bei 64 KB oder kann man zuverlässig auch mit größeren Dateien arbeiten?

Grüße
Matze

Ich sehe nicht wo da eine grundsätzliche Grenze sein soll. Aber 64 KB and INI Daten ist schon etwas excessiv. Zudem parsen die INI File VIs das INI File jedesmal beim Öffnen und laden es in den Speicher aber nicht als eine einzigen String sondern als viele kleine Strings mit zwei Strings per INI-File Zeile. Das geht bei so grossen Konfigurationsfiles ganz eindeutig in die Zeit und CPU Kosten und auch der Speicherbedarf ist durchaus bemerkbar.

Also die grosse Preisfrage hier ist warum Du solch grosse Konfigurationsdateien bekommst. Wahrscheinlich weil Du sie für etwas Zweckfremdes missbrauchen willst?


RE: Max. Größe einer Konfig-Datei (INI) 64 KB? - Matze - 15.06.2012 11:49

Hallo,

nein, ich speichere darin Konfigurationsdaten.

Die Daten befinden sich in einem Cluster, das aus numerischen Elementen und einem 2D-Array (aus Clustern) besteht (Dimension 1 = Kanal, Dimension 2 = Prüfprogramm).
Wenn ich nun 5 Messkanäle habe mit je 100 möglichen Prüfprogrammen, dann kommt da einiges zusammen.

Bisher habe ich den Cluster über Binär- oder XML-Dateien gespeichert, aber damit bin ich nicht zufrieden. Ändert sich die Struktur des Clusters, dann können die Dateien nicht mehr eingelesen werden. Mit Ini-Dateien ist die Kompatibilität gewährleistet.

Die Dateien werden auch nicht fortlaufend beschrieben, sondern nur, wenn jemand die Konfiguration ändert. Beim Programmstart werden alle Dateien eingelesen. Aber ob das nun 1 s oder 5 s dauert, wäre mir egal.


RE: Max. Größe einer Konfig-Datei (INI) 64 KB? - dimitri84 - 15.06.2012 13:15

(15.06.2012 11:49 )Matze schrieb:  Bisher habe ich den Cluster über Binär- oder XML-Dateien gespeichert, aber damit bin ich nicht zufrieden. Ändert sich die Struktur des Clusters, dann können die Dateien nicht mehr eingelesen werden.
Ich kämpfe mit dem selben Problem und habe auch an Konfigdateien gedacht, nur fehlt mir hier die Hirarchietiefe. Abschnitt und Schlüssel könnten z.B. "Prüfung" und "Kanal" repräsentieren - wenn man jetzt Obergrenze UND Untergrenze abspeichern möchte hat man eine Ebene zuwenig.

Wie bekommt man da mehr Hirarchieebenen rein? Über ein Dateisystem (OG.ini UG.ini)? Oder parsed man die Mehrinformation in den Schlüssel? Find ich beides unschön...


Gruß dimitri


RE: Max. Größe einer Konfig-Datei (INI) 64 KB? - Matze - 15.06.2012 13:20

Eine Ini-Datei hat laut Definition nur 2 Ebenenen. Eine Alternative wären XML-Dateien. Der Nachteil hier ist jedoch, dass diese optisch bei weitem nicht so übersichtlich sind, wenn man mal eben in der Datei schauen möchte, welche Parameter eingestellt sind.

Ich lege pro Konfiguration eine separate Ini-Datei an.

\parameter\kanal_01\param_k01_p001.ini
\parameter\kanal_01\param_k01_p002.ini
...


RE: Max. Größe einer Konfig-Datei (INI) 64 KB? - rolfk - 15.06.2012 13:27

(15.06.2012 13:15 )dimitri84 schrieb:  
(15.06.2012 11:49 )Matze schrieb:  Bisher habe ich den Cluster über Binär- oder XML-Dateien gespeichert, aber damit bin ich nicht zufrieden. Ändert sich die Struktur des Clusters, dann können die Dateien nicht mehr eingelesen werden.
Ich kämpfe mit dem selben Problem und habe auch an Konfigdateien gedacht, nur fehlt mir hier die Hirarchietiefe. Abschnitt und Schlüssel könnten z.B. "Prüfung" und "Kanal" repräsentieren - wenn man jetzt Obergrenze UND Untergrenze abspeichern möchte hat man eine Ebene zuwenig.

Wie bekommt man da mehr Hirarchieebenen rein? Über ein Dateisystem (OG.ini UG.ini)? Oder parsed man die Mehrinformation in den Schlüssel? Find ich beides unschön...


Gruß dimitri

OpenG hat eine INI Datenlibrary die mittels Varianten programmiert ist um beinahe beliebige Datenstrukturen zu serialisieren. Varianten und grosse Datenstrukturen machen das Ganze zwar potentiel langsam und speicherplatzfressend, aber wenn man sich darauf beschränken kann dies beim Starten (und bei Änderungen der Konfiguration) zu tun ist das meist kein Problem.

Die Art und Weise wie die Library das tut geschieht über hierarchische Keynamen, wie cluster.array[1].element=xxxxxx.


RE: Max. Größe einer Konfig-Datei (INI) 64 KB? - dimitri84 - 16.06.2012 11:58

Also doch über ein Dateisystem - OpenG hab ich auf dem Arbeitsrechner nicht.


Gruß dimitri