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 

Grosse Text File in Array



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!

02.12.2008, 11:58
Beitrag #1

Cardinal1664 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 147
Registriert seit: Aug 2006

2014 SP1
2006
EN


Schweiz
Grosse Text File in Array
Hallo Zusammen

Ich habe eine Textdatei(2MB) mit 10000 Zeilen und diese Zeilen fülle ich in Array!
Und jedem element in dem Array hänge ich hinten noch ein r an!
Nun gebe ich dieses Array in acht Sub'VI's! Nun habe ich festgestellt das es extrem(5-10s) lange dauert bis das Array in das Sub'VI übertragen wurde! Ich habe mein Programm gedebugt und gesehen das diese Zeit beim übertragen des Arrays verloren geht! Nun ist die grosse Frage wiso dauert dies so lange und wie macht das LabVIEW überhaupt? Wird achtmal eine Kopie des Arrays im Speicher angelegt oder setzt LabVIEW einen pointer auf das array!?
Ich hoffe ihr versteht was ich mine!


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.12.2008, 16:36 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2008 16:37 von gottfried.)
Beitrag #2

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
Grosse Text File in Array
In Deinem Programm gibt es 8 Kopien und ausserdem konfiguriertst Du das Stringarray durch das Löschen der Leerzeilen dauernd um - das macht einen Haufen Arbeit.

Vorschlag: eine Schleife statt 8, und das Zielarray zuerst auf z.B. 12000 Zeilen (also genung gross) mit Nullen konfigurieren und zeilenweise dann in das Array einfüllen. Zum Schluss die unnötigen Zeilen weglöschen.

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2008, 17:31
Beitrag #3

Cardinal1664 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 147
Registriert seit: Aug 2006

2014 SP1
2006
EN


Schweiz
Grosse Text File in Array
In meinem Programm ist es so dass ich die Datei(textfile) als erstes bei Programmstart auswähle und nur einmal das File in ein Array stopfe!
Das mit einer while schlaufe habe ich probiert aber es dauert immer noch sehr lange bis die SubVis im loop ausgeführt werden!
Aber die Zeit geht nicht beim File to Array verloren sondern wenn das Array im while Loop in die Sub'vis "übergeben" wird!!

' schrieb:In Deinem Programm gibt es 8 Kopien und ausserdem konfiguriertst Du das Stringarray durch das Löschen der Leerzeilen dauernd um - das macht einen Haufen Arbeit.

Vorschlag: eine Schleife statt 8, und das Zielarray zuerst auf z.B. 12000 Zeilen (also genung gross) mit Nullen konfigurieren und zeilenweise dann in das Array einfüllen. Zum Schluss die unnötigen Zeilen weglöschen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2008, 18:45
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Grosse Text File in Array
' schrieb:Nun gebe ich dieses Array in acht Sub'VI's! Nun habe ich festgestellt das es extrem(5-10s) lange dauert bis das Array in das Sub'VI übertragen wurde! Ich habe mein Programm gedebugt und gesehen das diese Zeit beim übertragen des Arrays verloren geht! Nun ist die grosse Frage wiso dauert dies so lange und wie macht das LabVIEW überhaupt? Wird achtmal eine Kopie des Arrays im Speicher angelegt oder setzt LabVIEW einen pointer auf das array!?
Kein Pointer. Alles Kopien.

Von zwei Sachen rate ich ab.

Erstens: Lokale Variablen. Die haben nämlich diverse Nachteile. Wenn die Daten vor den Schleifen einmalig festgelegt werden, reicht es, sie per Datenfluss in die While-Schleifen zu führen.

Zweitens: Keine Wartezeit in der While-Schleife. Da sollte mindestens eine 1ms-Zeit rein.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sprache vom VI während RunTime ändern bzw. Text aus INI-File abrufen b.proud 4 5.718 30.11.2015 12:23
Letzter Beitrag: b.proud
  Ordner + Text File erstellen steffpriko 3 4.763 25.08.2014 07:22
Letzter Beitrag: Hubert R.
  Dynamisch grosse Indicatiors M Nussbaumer 2 3.554 12.03.2012 07:54
Letzter Beitrag: M Nussbaumer
  Report Generation Toolkit - VI auf volle grösse skalieren lassen? M Nussbaumer 7 6.923 04.10.2011 11:50
Letzter Beitrag: Y-P
  LabVIEW Text über Button in txt-file speichern Adiboing 9 9.616 17.06.2010 21:10
Letzter Beitrag: GerdW
  txt-File auslesen, in Array wandeln und durchsuchen WolfiB 3 6.236 02.10.2009 07:17
Letzter Beitrag: WolfiB

Gehe zu: