Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Problem mit Geschwindigkeit (https://www.delphipraxis.net/206204-problem-mit-geschwindigkeit.html)

TomyN 4. Dez 2020 10:30

AW: Problem mit Geschwindigkeit
 
Hi,

Danke für alle Tipps. Das ganze macht immer mehr Spaß, obwohl es eigentlich relativ irrelevant ist, da die FFT durchaus schnell genug ist (und eigentlich sollte ich schon seit zwei Tagen Doku machen :-)
Eine Änderung im Bereich der Indices (danke für den Tipp) bringt bei großen FFTs eine signifikante Beschleunigung ( bis zu 10%), bei kleinen Größe eher eine Tendenz zu einer etwas geringeren Rechendauer denn eine messbare Beschleunigung (aber keinenfalls eine Verlangsamung).
Es ist schon sehr interessant zu sehen, wie sich die Umgruppierung einer Inc Anweisung gleich mal deutliche Auswirkungen hat.
Aktuell schauen die Indices so aus
Code:
 
       //Schleife Anfang
       i5:= Succ(i + n4 -j); //+1;
       i1:= i + j - 1;
       Inc(i, id); //Hier gut für kurze FFT

       i2:= i1 + n4;
       i3:= i1 + n4 + n4; // i2 + n4;
       i4:= i1 + n4 + n4 + n4; // i3 + n4;

       i6:= i5 + n4;
       i7:= i5 + n4 + n4; // i6+n4;
       i8:= i5 + n4 + n4 + n4; // i7+n4;

       //Berechnung der Daten

       // Inc(i,id); Hier gut für lange FFT

       //Schleife Ende
Das Inc(i,id) an der aktuelle Stelle liefert für kurze FFTs eine etwas höhere Geschwindigkeit (1-2%), während bei langen FFTs eine Position direkt am Ende der Schleife einen bessere Performance liefert. Für spezielle Sachen (SSE oder Rechnen auf der Grafikkarte etc.. ) fehlt mir das Basiswissen. Dann würde ich auch eher auf fertig Lösungen (Intel, FFTm(?)) o.ä. gehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz