Wie lang kann eine String Variable werden?

Hallo,

der Titel sagt es schon: Wie lang kann eine String Variable werden, bis irgendwann Probleme mit der settings.xml Datei auftreten?

mfG Franz

Da ich selbst schon mehr als 255 Zeichen (typische Standard-Längenbegrenzung) in einem String hinterlegt hatte und die Programmiersprache, in der IPS geschrieben ist bis zu 4GB als String unterstützt, würde ich tippen as gibt keine Grenze für Strings (bis auf die 4GB halt)

Wenn Paresy das nicht intern begrenzt hat sollte das auch kein Problem darstellen. Aber ich würde es, grade in der Settings.xml, nicht zu sehr ausreizen, sonst wird dein Rechner nur noch mit lesen bzw schreiben beschäftigt sein. Man kann sich da sehr leicht den Rechner stilllegen.

Zusammenfassend würde ich sagen, dass die Grenze von deiner Hardware bestimmt wird.

Toni

Bei 1,6 Mio. Zeichen habe ich meinen Test abgebrochen… mehr brauche ich wirklich nicht.

Gruss

hightower

BTW: 4GB wären 4.294.967.295 Zeichen

Aber wie gesagt… tus nicht :wink: :smiley:

Hallo,

also es gibt auch noch eine andere Komponente, die zu beachten ist, naemlich der verfuegbare RAM - es macht ja keinen Sinn, wenn man diese Variablen ueber den Swap Speicher von Windows laufen laesst, wenn sie so exorbital gross sind. Und bedenkt auch, dass derzeitig, glaube ich zumindest, minuetlich die settings.xml auf der Platte aktualisiert wird, und bei einer Clustergroesse von 1025 oder 4096 Byte je Write Zyklus sind das auch schon dann einiges an Schreibzyklen, welche die Hardware erledigen muss. Das ganze ist also bei supergrossen Strings nicht gerade foerderlich. Vielleicht sollte paresy fuer das speichern von Variablen noch eine zweite Datei verwenden, also auf die Art:

settings.xml - sichern aller systemspezifischen Infos
vario.xml - sichern aller Variablen nur nach Aenderung einer solchen

nur mal so als Idee…

Gruss Torro

RAM hab ich frecherweise mal zur Hardware gezählt :smiley:

Danke für Info,

ich wollt nur mal fragen, ob ich bei 30 Zeilen à ~35 Zeichen nicht schon drüber liegen würde. Es geht um meine LogMessages :smiley:

mfG Franz

das habe ich auch so gelöst (anstatt über ein Logfile zu gehen). Ich habe rund 65’000 Zeilen à rund 25 Zeichen getestet…

Gruss

hightower

Hallo,

irgendeine Begrenzung muss es geben. Siehe meinen Thread: http://www.ipsymcon.de/forum/showthread.php?t=1708

Damit hatte ich ganz große Probleme. Dabei stand im String nur html-Code mit einer Länge von 200 - 300 Zeichen. Es scheint also, wenn auch wie Paresy angesprochen hat nur „sporadisch“, mit der Länge Probleme zu geben.

BTW:
Die Länge zur Laufzeit ist dabei wohl nicht das Prob. mehr die settings.xml nach einem Absturz…

Fabian

Hallo,

ich hole mir seit einigen Tagen von:

www.blitzortung.de

über den Link:

http://www.blitzortung.de/cgi-bin/archive.cgi

mit einen „WWW-Reader“ und „Register Variable“ die Blitzdaten der letzten Stunde ab. Das lag vor ein paar Tagen mal bei über 2000 Zeilen je 50 Zeichen.
Bisher hat´s absolut keine Probleme gegeben.

Gruss, Andreas

Wie gesagt,

BTW:
Die Länge zur Laufzeit ist dabei wohl nicht das Prob. mehr die settings.xml nach einem Absturz…

wehe wenn IPS mit soviel „Datenmüll“ im „settings.xml-Bauch“ :rolleyes: abstürzt oder beendet wird ohne die Var vorher zu clearen. Danach ist Handarbeit an den settings angesagt! :stuck_out_tongue:

Fabian

Prinzipiell sollte IPS mit den Strings keine Problem haben.

Man sollte nur wie schon vorher gesagt aufpassen, dass man daraus kein Speicherleck baut. Sonst ist der RAM irgendwann aufgebraucht und in BugReports ist ein „IPS Abgestürzt“ Thema, welches ich niemals Lösen werde, weil der Fehler dann bei mir nicht auftaucht :eek:

Deswegen überlege ich gerade ein Sperre einzubauen… Bin nur noch am Überlegen auf welche Größe… Tendiere auf 65535… Quasi die MaxGröße für ein WORD.

paresy

Es kann zwar sein, dass es mit diversen Zeichen im String Probleme bereiten, aber sporadische Längenprobleme kann man wohl ausschließen. Auf jeden Fall darf kein Null-Zeichen im String sein.

Die besagten Speicherlecks sind da schon eher ein Problem.

Toni