LabVIEWForum.de - Speedchallenge - bekommt das jemand schneller hin als ich?

LabVIEWForum.de

Normale Version: Speedchallenge - bekommt das jemand schneller hin als ich?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

heute morgen war's noch ein Problem, mittlerweile habe ich eine Lösung gefunden, die für mich "schnell genug" funktioniert.
Trotzdem hat es mich etwas gefuchst, die Frage nach der "optimalen Lösung".

Daher dachte ich mir, ich veranstalte ein Avendtliches Spektakulum und fordere einen jeden heraus, eine schnellere Lösung als die meine darzulegen!

Konkret geht es darum, ein periodisches verrauschtes Signal zu mitteln. Möglichst schnell.
Meine Lösung sieht wie folgt aus:
[attachment=47618]

Der pinke Teil soll so modifiziert werden, dass die Mittelung des Signals schneller verläuft. Wobei "schneller" natürlich relativ zu meiner Lösung zu sehen ist.

Viel Erfolg und Spaß beim Mitmachen!
Hallo Kasi,

ich kann mir nicht vorstellen, wie man schneller als gezeigt die entsprechenden Elemente aus dem Y-Signal herauspicken könnte. Du liest ja nicht fortlaufende Blöcke, sondern immer jeden x. Eintrag im Array (quasi ein DecimateArray). Und das Parallelisieren der Rechenschleife bringt auch nichts (positives), jedenfalls unter LV2009...

@Lucki: Bitte mal als Bild zeigen!
Genügt Dir eine Steigerung um den Faktor 8?
[attachment=47620]
[attachment=47621]
@ Gerd: Wenn das Bild kein Snipset sein soll, gern:
[attachment=47622]
Hallo Lucki,

bei mir nur ca. 3× schneller, aber trotzdem schöne Lösung!
(04.12.2013 16:05 )GerdW schrieb: [ -> ]bei mir nur ca. 3× schneller, aber trotzdem schöne Lösung!
Dass es schneller ist - und ich war selbst überrascht -, liegt wahrscheinlich daran: Bei mir wird aus dem gegebenen riesengroßen Array nur abschnittweise gelesen. Bei Kasi wird aber vor dem Lesen mit den Elementen des ersten Arrays erst einmal ein zweites großes Array neu angelegt, und das dauert.
(04.12.2013 15:51 )Lucki schrieb: [ -> ]Genügt Dir eine Steigerung um den Faktor 8?
Sehr schöne Lösung. Wie gesagt, ich bin mit meiner Geschwindigkeit vollkommen zufrieden, nur wollte ich wissen, wie nahe ich am Optimum bin - dass ich da meist mehrere Größenordnungen von entfernt bin, hat mir schon eine Community Weihnachts-challenge von vor zwei Jahren irgendwo gezeigt. Insofern ist ein Faktor 8 (oder 3) noch nicht ganz so bedenklich Smile
Bei mir ist es Faktor 2,66 (24ms gegenüber 9ms). Blink
Wieso ist der Faktor bei jedem so unterschiedlich? Unsure

Gruß Markus
Unterschiede auf Grund unterschiedlicher Computer (Prozessor/RAM/Mainboard-Chipsatz etc. pp.) und mglw. unterschiedlicher LabVIEW-Version, unter der das Ganze getestet wird. Schließlich ist in den letzten Versionen kräftig am Compiler optimiert worden.

Gruß, Jens
Wenn schon schnell, dann richtig. Weitere Verkürzung der Ausführungszeit von 16ms herunter auf 11ms durch Verwendung aller 4 Prozessorkerne für die for-Schleife: (CPU Typ QuadCore AMD Phenom II X4 Black Edition B55, 3215 MHz)
[attachment=47624]
Weil der PC zu langsam war, habe ich neulich mal das Programm "SpyHunter" laufen lassen und damit ca. 550 (!) "Bedrohungen" beseitigt. Seitdem läuft er wieder schneller.
So, ich habe jetzt nochmal rumprobiert und bin denke ich auf die optimale Lösung gekommen:
[attachment=47626]

Spaß beiseite, alle meine weiteren Versuche, mit in Place Element Strukturen oder Shiftereien, haben nur in extreme Verlängerungen der Bearbeitungszeit gewonnen. Damit ist Lucki einziger Teilnehmer und klarer Sieger der Challenge Wink
Referenz-URLs