![]() |
Re: c++ vs delphi
Hi,
mir hat sich hier beim Lesen eine Frage gestellt, die ggf. OT ist: Was passiert eigentlich, wenn man einen Code mit SSE(2), MMX, etc. Befehlen schreibt und dieser auf einem Prozessor ohne dieses Feature ausgeführt wird? Das wäre mal sone Sache die mich interessieren würde... mfG mirage228 |
Re: c++ vs delphi
Zitat:
(aber bei aktuellen Spielen setzt man einfach einen P4-kompatiblen Prozessor voraus...) |
Re: c++ vs delphi
Zitat:
![]() Zitat:
Der Delphi-Compiler (ich weiß nicht, ob's der ICC besser gemacht hätte) produziert nicht immer optimalen Code (schon allein weil der Compiler manchmal nichts über die Anwendung weiß und keine Annahmen über die Umgebung machen kann, von daher ist jeder Compiler noch weiter optimierbar für spezielle Anwendungen) und bei kritischen Funktionen kann eine Handoptimierung durchaus noch etwas bringen. |
Re: c++ vs delphi
Wirklich krasse Unterschiede beim Otptimieren bemerkt man beim Debugging von .Net Apps.
Wenn du zum Bleistift durch eine Collection mit nur 5 Elementen iterierst wird sich der JIT nicht viel Mühe geben um möglichst optimalen Code zu generieren. Jetzt führe die gleiche Methode mit 10000 Elementen aus. Der ASM Code hat sich geändert, da er jetzt rausholt was er nur kann. :shock: Wobei es wieder fies ist JITs einer VM mit einem normalen Compiler zu vergleichen. ;) (wäre für beide Seiten ungerecht) Wollte es nur als krasses Beispiel erwähnen. :mrgreen: |
Re: c++ vs delphi
Zitat:
Zum Thema: Der Intel C++ Compiler bietet die Möglichkeit, Code für verschiede Prozzitypen zu schreiben. André |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Andere Möglichkeit ist optimierte Bereiche für mehrere Prozessoren zu schreiben und mit Hilfe von CPUID den richtigen Code zur Laufzeit auszuwählen. Zitat:
|
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Dir ist schon klar, was die UNICODE_STRING-Struktur ist? Hier mal der Typ in Delphi:
Delphi-Quellcode:
... und jetzt bin ich mal gespannt, wie exakt du das mit einem WideString lösen willst, ohne vor der Übergabe einer UNICODE_STRING-Struktur jedesmal rumzupfriemeln. Präprozessor-Makros gibt es neben Operator-Overloading auch nicht bei Delphi.
type
UNICODE_STRING = record Length: Word; // Länge in Bytes, immer gerader Wert MaximumLength: Word; // Maximale Länge in Bytes, immer gerader Wert Buffer: PWideChar; end; Außerdem kann man in C++ Klassen wie Stackvariablen benutzen - will heißen, wenn "out-of-scope" wird die Klasse freigegeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz