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 

code in LabVIEW 2010 extrem langsam



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!

06.11.2012, 10:15
Beitrag #1

stsc Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Nov 2007

8.5, 2012, 2016
2002
DE

98693
Deutschland
code in LabVIEW 2010 extrem langsam
Hallo,
mein Programm liest ein ASCII Messdatenfile (Tabelle mit max. 7 Spalten und einigen 10.000 bis 100.000 Zeilen) ein. Mit LabVIEW 8.5 dauert dieser Vorgang einige 100ms. Der gleiche Code benötigt zum Einlesen der Daten in LabVIEW 2010 SP1 einige Minuten (!). Woran kann das liegen? Ich habe verschiedenes probiert, d.h. (1.) zeilenweises Lesen der Daten mit gleichzeitiger Konvertierung, (2.) Einlesen des gesamten Textfiles mit anschließender zeilenweiser Konvertierung der ASCII-Zeichen und Zuordnung in ein Clusterarray, (3.) die LabVIEW-Funktion "Tabellen-String nach Array". Alle Versionen sind in LabVIEW 8.5 etwa gleich schnell (z.B. (2.) 330ms, (3.) 560ms). In LabVIEW 2010 SP1 benötigt der gleiche Code für dieses Datenfile über 400s. Es scheint irgendwie an den for-Schleifen zu liegen. Hat jemand eine Idee? Das Problem tritt sowohl mit Windows XP SP3, als auch in Windows 7 auf.
Vielen Dank und viele Grüße
s
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.11.2012, 10:20
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: code in LabVIEW 2010 extrem langsam
VI + Beispieldatei?

Dann kann man testen...

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2012, 10:34
Beitrag #3

stsc Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Nov 2007

8.5, 2012, 2016
2002
DE

98693
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Hallo Achim,
danke für die schnelle Antwort.
Das Programm heißt "Auswertung DBU.vi" und benötigt noch einige SubVi's ("Segmentanalyse.llb"). Die Daten stehen im file "data.txt".
Der "Fehler" tritt im Tab "Rohdaten" auf ("Daten aus Datei laden"). Links neben der Registerkarte steht die benötigte Zeit in ms ("x-y" ist die zeit der LabVIEW Funktion "Tabellen-String nach Array", "x-y 2" ist Dauer der zeilenweisen Konvertierung).
Vielen Dank und viele Grüße
s


Angehängte Datei(en)
88.0 .llb  SegmentAnalyse.llb (Größe: 1,66 MB / Downloads: 189)

8.5 .vi  Auswertung DBU.vi (Größe: 1,54 MB / Downloads: 290)

0.0 .txt  data.txt (Größe: 2,18 MB / Downloads: 503)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2012, 10:44 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2012 10:55 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Hallo s,

und jetzt noch eine Testdatei... ok, gefunden.

Glaubst du wirklich, mit diesem Paradebeispiel für unübersichtliche Programmierung einen Blumentopf gewinnen zu können?
Schon mal ans Aufräumen gedacht? SubVIs anlegen? Lokale Variablen minimieren? RubeGoldbergs entfernen? Verdeckte Funktionen/Drähte sichtbar machen? Style-Guidelines beachten?

Ein RubeGoldberg springt sofort ins Auge: Da wird ein Array in einen Cluster umgewandelt, dieser Cluster per Unbundle zerlegt, ein Element entnommen und die restlichen wieder in ein Array zusammengefügt (ohne die Reihenfolge zu ändern). Ein typischer Einsatzfall für DeleteFromArray...

Diese Schleife (unten mittig) gilt es zu optimieren:
   
Hier zerlegst du äußerst ungeschickt ein großes Array in mehrere Cluster-Arrays: auf denkbar ungünstige Art werden hier 6 Cluster-Arrays aufgebaut. Mach daraus ein subVI und optimiere es!

Mal ein (hoffentlich äquivalenter) Vorschlag:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2012, 13:42
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Hast du deine 8.5er VIs schon einmal unter LabVIEW 2010 gespeichert und erst dann ausgeführt?
Zwecks Änderungen am Compiler-Unterbau von LabVIEW kann es zu solchen Effekten kommen, wie von dir beschrieben.

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
06.11.2012, 16:02
Beitrag #6

stsc Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Nov 2007

8.5, 2012, 2016
2002
DE

98693
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Hallo GerdW,

sorry wegen dem etwas chaotischen code und danke für die Hinweise. Den Vorschlag werde ich integrieren.

Hallo jg,

die 8.5er Version habe ich auch als 2010er Version gespeichert und eine *.exe erzeugt. Es ändert leider nichts.

Viele Grüße
s
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.11.2012, 16:26
Beitrag #7

stsc Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Nov 2007

8.5, 2012, 2016
2002
DE

98693
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Nochmal Hallo GerdW,

mit der vorgeschlagenen Änderung geht es in LabVIEW 2010 jetzt genauso schnell (wenige 100ms).
Bleibt jetzt nur die Frage nach der Ursache. LabVIEW 8.5 ist hier scheinbar wesentlich toleranter mit unoptimiertem code. Der wesentliche Unterschied liegt m.E. in dem verschachtelten for-loop in meinem code und der einfachen Schleife in deinem Vorschlag. Warum geht das in LabVIEW 2010 nicht?

Vielen Dank und viele Grüße
s[/align]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2012, 16:31
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Hallo s,

in LV2010 wurde der zugrundeliegende Compiler grundlegend geändert. Da können sich, insbesondere bei schlechtem Memoryhandling wie in deinem Fall, durchaus Änderungen am Verhalten des Compilats ergeben.

Aber die Whitepapers zum effizienten Umgang mit Speicheranforderungen galten auch schon zu Zeiten von LV8.5 - du hast sie nur nicht beachtet Smile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2012, 08:16
Beitrag #9

stsc Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Nov 2007

8.5, 2012, 2016
2002
DE

98693
Deutschland
RE: code in LabVIEW 2010 extrem langsam
Hallo GerdW,
nochmals danke für die konstruktive Kritik. Gibt es irgendwo eine übersichtliche Zusammenfassung von Optimierungsvorschlägen bzw. häufig auftretenden Unsinnigkeiten?
Leider bin ich nur ein "LVF-Grünschnabel" und habe LabVIEW nur so nebenbei "gelernt", ohne Lehrer oder Kurs.
Vielen Dank und viele Grüße
s
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2012, 09:08 (Dieser Beitrag wurde zuletzt bearbeitet: 07.11.2012 09:08 von Y-P.)
Beitrag #10

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: code in LabVIEW 2010 extrem langsam
http://sine.ni.com/tacs/app/overview/p/a...8/id/1588/ Big Grin

Gruß Markus

(07.11.2012 08:16 )stsc schrieb:  Gibt es irgendwo eine übersichtliche Zusammenfassung von Optimierungsvorschlägen bzw. häufig auftretenden Unsinnigkeiten?

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
  Extrem langsamer Variablen Zugriff über Referenzen hajos118 12 5.746 01.08.2022 17:20
Letzter Beitrag: BNT
  Blockdiagramm und Frontpanel langsam mit LabView 2019 Marcusius 6 4.705 27.08.2019 16:48
Letzter Beitrag: Marcusius
  Mehrfacher Absturz von LabView 2010 Sade 3 3.553 24.09.2018 14:46
Letzter Beitrag: GerdW
  Labview Datenerfassung sehr langsam antwort 14 10.556 28.04.2017 10:51
Letzter Beitrag: Freddy
  LabVIEW 7.1 vi Code in LabVIEW 2015 öffnen Muri 9 6.930 01.03.2017 13:02
Letzter Beitrag: Muri
  Python Code in LabVIEW nutzen n4f3ts 7 12.424 17.03.2016 09:23
Letzter Beitrag: n4f3ts

Gehe zu: