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 

Dieses Thema hat akzeptierte Lösungen:

Laufzeitoptimierung



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!

15.08.2022, 09:50
Beitrag #1

Philipp_O Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Feb 2022

21.0
-
EN


Deutschland
Laufzeitoptimierung
Hallo zusammen,
mein Programm läuft soweit ganz gut, ich würde es nur gern etwas schneller machen, weil es aktuell eine Laufzeit von ca 135 Sekunden hat.

Zunächst zu meinem Programm: In einer XML mit über 180.000 Zeilen stehen Kennnummern in unterschiedlichen Kennnummernlisten. Eine Kennnummer steht in mehreren Listen. Das Programm sucht alle Listen raus, in denen die gesuchte Kennnummer enthalten ist. Zunächst suche ich nach allen "Knr" Elementen. Anschließen vergleiche ich die gefundenen Elemente mit der gesuchten Nummer. Bei einem Treffer gehe ich zwei ebenen nach oben und schreibe die Listen ID raus.

Ich freue mich über jeden Ratschlag
Gruß Philipp


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2022, 11:57
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Laufzeitoptimierung
Hallo Philipp,

Zitat:Ich freue mich über jeden Ratschlag
Wandle die XML-Datei einmalig in ein anderes Format um (d.h. parsen und umsortieren), dass du dann schneller einlesen kannst!
An der Geschwindigkeit der XML-Funktionen wirst du nicht viel ändern können…

P.S.: Attribut schreibt man ohne "e" Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2022, 12:37
Beitrag #3

ewiebe Offline
LV Fortgeschrittener
**


Beiträge: 60
Registriert seit: Mar 2011

LV bis 2021
2005
DE

32xxx
Deutschland
RE: Laufzeitoptimierung
Hallo Philipp,

vielleicht ist dieser Artikel aus der C# Welt auch interessant für dich:
https://docs.microsoft.com/en-us/dotnet/...-documents

Ich kann mir vorstellen, dass, wenn man das XML Dokument in C# in einen MemoryStream lädt und LINQ / lambda expressions (=>) darauf anwendet, dann müsste das innerhalb von Sekunden oder Millisekunden durchgeforstet werden können. Am besten wäre es, wenn du einen Kollegen hast, der C# und diese Thematiken beherrscht. Vielleicht kann er das in C# implementieren und du rufst es dann von LabView aus auf ;-)

Gruß
Eugen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2022, 12:39 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2022 12:50 von TpunktN.)
Beitrag #4

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 217
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Laufzeitoptimierung

Akzeptierte Lösung

Hallo Philipp,

die NI XML Verarbeitung ist extrem langsam, so war meine Erfahrung damit und ich habe mir den Parser halbwegs selbst geschrieben.
Mit NI XML waren es ein paar Sekunden und selbst programmiert dann noch 100ms oder so.

MfG Timo

Edit: Hab mal den Anfang von meinem als Snippet angehängt. "Multi" ist die erste Verarbeitung


Angehängte Datei(en) Thumbnail(s)
           

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2022, 13:37
Beitrag #5

Philipp_O Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Feb 2022

21.0
-
EN


Deutschland
RE: Laufzeitoptimierung
Vielen Dank für eure Hilfe.

Ich werde die Tage probieren eure Ideen um zu setzen, mal schauen was für meinen Fall dann am besten um zu setzen ist.

Gruß Philipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2022, 12:34
Beitrag #6

Philipp_O Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Feb 2022

21.0
-
EN


Deutschland
RE: Laufzeitoptimierung
Ihr habt recht gehabt. Die XML Bausteine sind extrem langsam. Ich habe jetzt die XML einmalig in einen String gewandelt und dann mit selber gebauten Bausteinen, ähnlich wie von Timo, ausgelesen. Das Sub VI ist von 135 Sekunden auf 200ms runter und das ganze VI habe ich von über 3 Minuten auf weniger als 500ms bekommen.

Nochmal vielen dank Smile
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
  Code / Laufzeitoptimierung tuhpon 7 4.890 29.09.2020 15:39
Letzter Beitrag: jg

Gehe zu: