INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Performance Probleme beim lesen einer großen Messdatendatei



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.09.2010, 08:59
Beitrag #1

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
Hallo LabView-Freunde,

bin dabei mein großen Programm Performancetechnisch zu verbessern und dabei ist mir aufgefallen dass mein "Speicherfresser" das Programm zum Visualisieren von Messprotokollen ist. Hab mir jetzt schon einiges über "Fixing Performance Problems" o.ä. durchgelesen aber komm in meinem Fall nicht drauf was so "schlecht" programmiert wurde.

Anwendungsfall:

Ich schreibe über einen längeren Zeitraum Messwerte in eine TXT File. Dazu werden alle Dateien als String formatiert und in der Datei abgelegt. In einem separaten Programm "Visualisierung und Druck" kann man nun dieses Messprotokoll nochmal einlesen und analysieren. Da die TXT Datei schon ziemlich groß werden kann (bis 15 MB) könnt Ihr euch sicher vorstellen dass einige Messwertreihen dort drin stehen (bis zu 500.000). Da wir auch während der aktuellen Messung das Messprotokoll einsehen wollen müllt es so meinen Speicher zu bis es dann schlussendlich zu einem Speicherüberlauf kommt wenn man den Programm nicht neu startet. Da dies aber mit der Zeit lästig wird wollt ich mein Programm optimieren.

Frage: Meine Forschleifen sind idiziert somit ist hier eine Allocierung gemacht. Ok...im LabView kurs haben Sie mir zu einem anderen Datenformat geraten (TDMS) aber da müsste ich mein komplettes programm umstricken und das will ich NOCH nicht. Bringt das TDMS format überhautp so viel??

Vielleicht seht ihr ja noch einen Weg mein bestehendes Programm speichertechnisch zu optimieren.....ich wär Euch echt Dankbar wenn ihr da mal drüberschauen könntet ob Ihr noch Ideen habt. Gestaret wird das VI "Visualisierung&Druck".

Vielen Dank schon mal!!


Sonstige .zip  Messprotokolle_visualisieren.zip (Größe: 1,24 MB / Downloads: 211)


Gruß

RainitoLv10
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 09:39
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
' schrieb:im LabView kurs haben Sie mir zu einem anderen Datenformat geraten (TDMS)
Top1
Zitat:aber da müsste ich mein komplettes programm umstricken und das will ich NOCH nicht.
Warte noch ein Weilchen ...
Zitat:Bringt das TDMS format überhautp so viel??
Ja.

Strings gehören mit zu den aufwändigsten Datentypen. Binäre Typen, und seien es nur binäre Streams, so wie es TDMS einer ist, sind im Zweifelsfall immer vorzuziehen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 10:36
Beitrag #3

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
Hab jetzt noch eine Automatik implementiert, so dass das Frontpanel nach x Sekunden wieder gelöscht wird.....das bringt mir auch schon was hab ich festgestellt.

Habt Ihr sonst noch Ideen die mich vorübergehend retten könnten??

Parallel werd ich mich wohl doch mal dem TDMS-Format zuwenden und mir die Verwendung und den Aufbau der Datenspeicherung reinziehen!!!

Danke.

Gruß

Rainer
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 11:00
Beitrag #4

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
So Freunde der TDMS Datei....

...hab gerade eine Messdatei zum Spaß erzeugt mit der gleichen Datenanzahl von meinem messprotokoll.....und siehe da.....die TDMS Datei...sieht nicht schlecht aus....aber hat jetzt anstatt 6MB (Textdatei) plötzlich 14MB...???

bringt mir das Format jetzt dennoch performance steigerung?? und weniger speicherauslastung?? Muss irgendwie meine Ausgelagerte Datei im Windows verkleinern....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 11:59
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
Erste Frage: Welche deiner LV-Versionen ist denn jetzt gültig:lv86wie im Profil steht oderLv10, wie im Posting steht? Was im Profil steht sollte obere Grenze sein! Da ich noch kein LV2010 installiert habe, ich ich deinen geposteten Code nicht ankucken.

' schrieb:Hab jetzt noch eine Automatik implementiert, so dass das Frontpanel nach x Sekunden wieder gelöscht wird.....das bringt mir auch schon was hab ich festgestellt.
Durch das Löschen des Frontpanels entstehen Performance-Vorteile? Das könnte auf überfüllte Graphen oder Tabellen hindeutet. Was ich aber erst sagen könnte, wenn ich den Sourcecode lesen könnte.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 12:24
Beitrag #6

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
so...hab mein Profil geändert auf LabView 2010.

Hab meine VI´s nochmal in 8.6 abgespeichert und hier angehängt.


Sonstige .zip  Visualisierung_Druck_Ordner.zip (Größe: 1,24 MB / Downloads: 280)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 12:31
Beitrag #7

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
' schrieb:...hab gerade eine Messdatei zum Spaß erzeugt mit der gleichen Datenanzahl von meinem messprotokoll.....und siehe da.....die TDMS Datei...sieht nicht schlecht aus....aber hat jetzt anstatt 6MB (Textdatei) plötzlich 14MB...???
Das kann ich mir nicht ganz vorstellen.

Sind es wirklich die identischen Messdaten bzw. die Anzahl der Messwerte?

Da TDMS binär speichert, müsste die Datei deutlich kleiner sein und bei mir war sie es bisher auch immer.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 13:38 (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2010 13:44 von jg.)
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
' schrieb:Das kann ich mir nicht ganz vorstellen.

Sind es wirklich die identischen Messdaten bzw. die Anzahl der Messwerte?

Da TDMS binär speichert, müsste die Datei deutlich kleiner sein und bei mir war sie es bisher auch immer.
Nein, nicht unbedingt. Das hängt auch sehr davon ab, wie du in eine TDMS-Datei speicherst. Bei jedem Schreibvorgang werden noch zusätzlich Indexe, Blockumbrüche u.ä. geschrieben. Wenn du also jeden Datenpunkt einzeln in eine TDMS-Datei schreibst, erzeugt das einen gewissen Overhead.
Und wenn du bei eine DBL-Zahl im ASCII-Format mit z.B. 3 Nachkommastellen abspeicherst, dann sind das 5-7 Bytes, binär aber 8 Byte!

Gegen den Overhead gibt es Möglichkeiten. z.B. kann man den TDMS-File am Ende defragmentieren (s. das entsprechende VI in der TDMS-Palette). Oder man kann die Anzahl der Schreibzugriffe per "TDMS Set Properties" reduzieren, hierzu am besten die Hilfe zu diesem VI durchlesen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 13:42
Beitrag #9

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
' schrieb:Und wenn du bei eine DBL-Zahl im ASCII-Format mit z.B. 3 Nachkommastellen abspeicherst, dann sind das 5-7 Bytes, binär aber 8 Byte!
Ja gut, das sind aber dann unterschiedliche Datenmengen und in der ASCII-Datei fehlen Informationen. Dann ist das natürlich richtig.
Ich ging nun von identischen Daten mit identischer Genauigkeit aus.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2010, 13:45
Beitrag #10

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Performance Probleme beim lesen einer großen Messdatendatei
Also ich hab 150.000 Messwertreihen a 11 Messgrößen in die TDMS geschrieben.....also 11 Spalten! Hab einfach ein Beispiel VI erweitert um den Speicherplatz zu testen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption spacz 8 5.683 28.10.2019 09:01
Letzter Beitrag: spacz
  Probleme mit Performance (Berechnungen und Grafik) catbull 5 3.879 21.07.2018 10:13
Letzter Beitrag: IchSelbst
  Farben verschwinden beim Speichern einer Tabelle dulfried 4 4.573 14.09.2017 14:45
Letzter Beitrag: dulfried
  Performance beim Betrieb über WLAN Heber 9 4.821 22.08.2017 14:28
Letzter Beitrag: Heber
  Probleme seit einfügen einer For-Schleife JUON 7 5.255 14.02.2017 18:01
Letzter Beitrag: TR61
  nur einen Teil einer TDMS Datei lesen gottfried 1 3.980 06.02.2017 17:47
Letzter Beitrag: gottfried

Gehe zu: