AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

c++ vs delphi

Ein Thema von Lesco · begonnen am 4. Apr 2005 · letzter Beitrag vom 9. Apr 2005
Antwort Antwort
Seite 8 von 10   « Erste     678 910      
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#71

Re: c++ vs delphi

  Alt 7. Apr 2005, 19:23
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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#72

Re: c++ vs delphi

  Alt 7. Apr 2005, 19:26
Zitat von mirage228:
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?
EInvalidOpCode
(aber bei aktuellen Spielen setzt man einfach einen P4-kompatiblen Prozessor voraus...)
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#73

Re: c++ vs delphi

  Alt 7. Apr 2005, 19:28
Zitat von TheAn00bis:
Ja, mir war klar, dass es so gut wie keine Grafikengine für Delphi zu kaufen gibt.
Nuja, zu kaufen vielleicht nicht, aber die Quake2-Engine wurde mal nach Delphi portiert: http://www.sulaco.co.za/quake2/

Zitat von TheAn00bis:
Was bedeutet denn Codeoptimierung eigentlich? Natürlich kann ich mir was darunter vorstellen, dass der compilierte Assemblercode so effektiv wie möglich gestalltet ist. Aber macht das so viel aus?
ID3v2-Tags benutzen ein 28bit-Integer-Format, bei dem in jedem Byte das höchstwertige Bit immer auf 0 gesetzt ist (und zusätzlich noch im Gegensatz zu Intel-Prozessoren auch noch das MSB als erstes im Datenstrom lag). Ein einfaches Auslesen war also nicht möglich, eine Konvertierungsfunktion musste her. Meine reine Pascal-Implementierung (eine Codezeile, reine Integerarithmetik, ausschließlich ANDing, Shifting und ORing, also eigentlich eine recht popelige Aufgabe) habe ich um mehr 30% beschleunigt, indem ich sie in Assembler neu geschrieben habe. Zugegeben, diese Funktion wird nur ein paar Mal aufgerufen und die Anwendung selbst ist ja auch alles andere als geschwindigkeitskritisch, aber ich war jung und brauchte das Geld
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.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#74

Re: c++ vs delphi

  Alt 7. Apr 2005, 20:49
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.

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.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#75

Re: c++ vs delphi

  Alt 7. Apr 2005, 21:03
Zitat von NicoDE:
Zitat von mirage228:
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?
EInvalidOpCode
(aber bei aktuellen Spielen setzt man einfach einen P4-kompatiblen Prozessor voraus...)
Wie jetzt? Es wird ein P4 kompatibler Prozzi vorausgesetzt. Dann dürfte ein Spiel nur auf Prozessoren laufen, die SSE2 haben. Aber ich kann mit meinen AthlonXP 2400+ trotzdem spielen ohne SSE2.

Zum Thema:
Der Intel C++ Compiler bietet die Möglichkeit, Code für verschiede Prozzitypen zu schreiben.

André
André
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#76

Re: c++ vs delphi

  Alt 7. Apr 2005, 21:11
Zitat von MagicAndre1981:
Wie jetzt? Es wird ein P4 kompatibler Prozzi vorausgesetzt. Dann dürfte ein Spiel nur auf Prozessoren laufen, die SSE2 haben. Aber ich kann mit meinen AthlonXP 2400+ trotzdem spielen ohne SSE2.
Dann setzen deine Spiele vielleicht nicht zwingend SSE2 vorraus
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#77

Re: c++ vs delphi

  Alt 7. Apr 2005, 21:18
Zitat von tommie-lie:
Zitat von MagicAndre1981:
Wie jetzt? Es wird ein P4 kompatibler Prozzi vorausgesetzt. Dann dürfte ein Spiel nur auf Prozessoren laufen, die SSE2 haben. Aber ich kann mit meinen AthlonXP 2400+ trotzdem spielen ohne SSE2.
Dann setzen deine Spiele vielleicht nicht zwingend SSE2 vorraus
Macht auch keins, Nico meinte wohl P3-kompatibel. Sonst hätten die ganzen "nicht ganz so aktuellen" ( ) 32 Bit AMDs schon lange in die Röhre gekiekt.
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#78

Re: c++ vs delphi

  Alt 7. Apr 2005, 22:22
Zitat:
Wie jetzt? Es wird ein P4 kompatibler Prozzi vorausgesetzt. Dann dürfte ein Spiel nur auf Prozessoren laufen, die SSE2 haben. Aber ich kann mit meinen AthlonXP 2400+ trotzdem spielen ohne SSE2.
Es gibt dann mehrere Echsen (plural von EXE ) jede für einen bestimmten Prozessortyp.
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 von MagicAndre1981:
Zum Thema:
Der Intel C++ Compiler bietet die Möglichkeit, Code für verschiede Prozzitypen zu schreiben.
Und optimiert auch ganz normalen C++ Code für den Ziel-Prozessor ohne daß man was anpassen müßte.
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#79

Re: c++ vs delphi

  Alt 7. Apr 2005, 22:46
Zitat von mael:
Zitat:
Wie jetzt? Es wird ein P4 kompatibler Prozzi vorausgesetzt. Dann dürfte ein Spiel nur auf Prozessoren laufen, die SSE2 haben. Aber ich kann mit meinen AthlonXP 2400+ trotzdem spielen ohne SSE2.
Es gibt dann mehrere Echsen (plural von EXE ) jede für einen bestimmten Prozessortyp.
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 von MagicAndre1981:
Zum Thema:
Der Intel C++ Compiler bietet die Möglichkeit, Code für verschiede Prozzitypen zu schreiben.
Und optimiert auch ganz normalen C++ Code für den Ziel-Prozessor ohne daß man was anpassen müßte.
Jupp, der Intel C++ Complier ist schon geil
André
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#80

Re: c++ vs delphi

  Alt 8. Apr 2005, 00:34
Zitat von mael:
Was die Unicode-Sache angeht, es gibt WideString, was also soll das Beispiel?
Was soll der Kommentar?
Dir ist schon klar, was die UNICODE_STRING-Struktur ist? Hier mal der Typ in Delphi:
Delphi-Quellcode:
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;
... 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.

Außerdem kann man in C++ Klassen wie Stackvariablen benutzen - will heißen, wenn "out-of-scope" wird die Klasse freigegeben.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 10   « Erste     678 910      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 Uhr.
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