Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Enormer Performanceunterschied zwischen 32 und 64 Bit?

  Alt 31. Okt 2014, 22:51
Hallo zusammen,

ich arbeite momentan an einem C++ Projekt mit Visual Studio 2013, zu dem ich leider nicht näheres sagen kann. Grob beschrieben ist es ein Parser für ein relativ komplexes Datenformat.

Jetzt habe ich mir mal eine kleine Anwendung geschrieben, welche einfach nur 100MiB an Daten sequenziell dekodiert.

Das Ergebnis hat mich dann doch ziemlich erstaunt (beide Kompilate als Release erstellt):
  • 32 Bit: ~9000ms
  • 64 Bit: ~800ms

Die Dekodierung basiert größtenteils auf arithmetischen und logischen Funktionen, ein paar Lookups in einer Datentabelle, ein paar Switches und das ganze verpackt in einige Unterfunktionen. Dazu kommen noch einige "sprintf" Aufrufe (welche laut Profiler sowohl in der 32, als auch der 64 Bit Version relativ langsam sind).

Ich weiß, es sind recht wenig Infos, aber kann sich jemand erklären, wie die 64 Bit Version über 90% schneller sein kann?

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat