Hallo,
ich habe offensichtlich einen Knopf im Hirn: wieso dauert ein läpische loop über 44100 Elemente 30sec wenn ich das Array double setze (allerdings nur 7sec bei I16).
Was mache ich blöd?
Danke
Gottfried
PS.: Beschriftung falsch (44100!)
Hallo Gottfried,
wo ist das VI oder ein Snippet?
Idee:
- Warum nicht 2 Rampen erzeugen und mit dem Mittelteil per BuildArray zusammensetzen?
- 2 Rampen lassen sich auf eine RampUp reduzieren, die dann für den RampDown gespiegelt wird...
So in etwa:
[
attachment=35675]
Dauert bei mir gefühlte 20ms
Zitat:30sec wenn ich das Array double setze (allerdings nur 7sec bei I16).
DBL = 8byte, I16=2byte. Mit DBL 44100 Werte ersetzen bewegt 4 mal mehr Daten als mit I16: 30s/7s ~=4...
Genial,
der Zeitverbrauch ist schlicht nicht mehr da....... aber wieso?
Danke
Gottfried
Hallo Gottfried,
- Parallelisierung?
- Nutzung von Funktionen mit ganzen Arrays statt Austausch von Einzelwerten in einem Array? (5 Operationen gegenüber 88200 Operationen)?
(06.09.2011 10:18 )gottfried schrieb: [ -> ]ich habe offensichtlich einen Knopf im Hirn: wieso dauert ein läpische loop über 44100 Elemente 30sec wenn ich das Array double setze (allerdings nur 7sec bei I16).
Zwecks Unterschied I16 / double: Schon mal davon gehört, dass Fließkomma-Operationen länger brauchen?
Außerdem, I16 = 2 bytes, double = 8byte, es muss also wesentlich mehr Speicher belegt werden.
Gruß, Jens
Ja, Arrayoperationen - ok.....
Nachtrag:
Also bei mir dauert folgendes Konstrukt (man beachte, 100 Durchläufe!), ca. 70 ms:
[
attachment=35677]
Gruß, Jens