Einzelnen Beitrag anzeigen

Robotiker
(Gast)

n/a Beiträge
 
#18

AW: Delphi 64 Bit langsamer als 32 Bit

  Alt 7. Aug 2013, 07:32
Hallo,

Als 32-Bit benötigt der Diskretisierungsvorgang ca. 24,58 Sekunden. Als 64-Bit Anwendung werden ca. 28,21 Sekunden benötigt (absolut reproduzierbar). Das klingt jetzt nicht nach viel, aber die Objekte werden später wesentlich komplexer und umfangreicher, was die benötigte Zeit vervielfacht...
Bei Berechnungen dieser Größe kann man nur wirklich was herausholen, wenn man sie auf mehrere Kerne verteilt. Um das automatisch zu machen, hat der Delphi Compiler nicht wirklich viel zu bieten.

Beim Intel C++ Compiler und bei VC++ gibt es Autovektorisierung und -parallelisierung.
http://en.wikipedia.org/wiki/Automat...ion#Techniques
http://msdn.microsoft.com/de-de/library/hh872235.aspx

Dann gibt es noch entsprechende Bibliotheken, bei Intel die Threading Collections und TBB, bei MS die PPL. Hier ein lesenswertes EBook dazu:
http://msdn.microsoft.com/en-us/library/gg675934.aspx

Das skaliert, auch wegen des Caches, nicht mit der Anzahl der Kerne, aber z.B. ein Faktor 3-4 bei einem 8-Kern-Prozessor gegenüber einer Single-Thread-Lösung sind üblich.

Was auch noch helfen kann, wäre Profile Guided Optimization, das haben diverse C++ Compiler.
http://blogs.msdn.com/b/vcblog/archi...ation-pgo.aspx
  Mit Zitat antworten Zitat