![]() |
Warum delphi lahmer als c++?
Alle sagen ja, dass c++ schneller sein soll als delphi, dabei frage ich mich, in welchen fällen das zutrifft.
Also bei welchen Schleifen oder sonstigen Anweisungen ist delphi lahmer? Des weiteren wollte ich wissen, warum dies so ist. Beides wird ja nach asm übersetzt, warum erzeugt der delphi compiler "schlechteren" assembler code? |
Re: Warum delphi lahmer als c++?
Es gab vor einiger Zeit mal ein Test in der c't. Darin war Delphi teilweise schneller als c++.
|
Re: Warum delphi lahmer als c++?
Zitat:
Zitat:
Zitat:
Aber diese Optimierungen sind eigentlich vernachlässigbar wenn die Programmlogik nicht passt. Man kann mit hochoptimierten C++-Code langsameren Code erzeugen als z.B. mit VB (noch kein .NET) wenn der Algorithmus und die Programmlogik nicht passt. In einem Artikel der Zeitschrift c't wurden mal ein Vergleich gemacht: a, Reines Nummer-Crunshing: Dort ist C++ einsame Spitze. Nirgends kann man (sinnlose) Schleifen so gut optimieren wie unter C/C++ b, Objektorientierte Konzepte wie Vererbung, Methoden-Überladung etc: Hier ist das Sprachkonzept das hinter C/C++ steckt nicht sehr optimal so das sowohl Delphi und C# als auch Java hier die Nase vorne haben. |
Re: Warum delphi lahmer als c++?
Bernhard Geyer kann ich da nur zustimmen. Man muss aber auch dazusagen, dass wir uns hier in ganz anderen Dimensionen bei diesen Vergleichen bewegen und der Unterschied zwischen Delphi und Cpp nicht gerade groß ist (wir spüren ihn oft garnicht, falls er überhaupt existieren sollte). Ich arbeite mit beiden Sprachen und bin mit beiden zufrieden, weil beide eine gute Geschwindigkeit haben. Für objektorientierte Programmierungs sollte man C++ aber wirklich nicht benutzen, das ist mit Delphi schon einfacher. Ich habe von meinem Bruder gehört (muss wegen Studium Java machen), dass er Java mitlerweile gut findet, weil es garnicht so lahm ist, wie es immer gesagt wird.
Nachtrag: Die Codeoptimierung von Delphi schafft manchmal Codes, die ein Mensch nicht hinbekommen würde :mrgreen: Es hängt also bestimmt nicht mit den Assemblercodes zusammen. Es ist nichts als ein Konkurrenzkampf, bei dem Cpp den Vorteil hat, dass der Compiler (GNU) kostenlos ist. |
Re: Warum delphi lahmer als c++?
moin moin,
C++ und Object Pascal sind Programmiersprachen. Die Sprachen an sich können nicht schneller sein, da "Quellcodes" erst übersetzt werden müssen, in eine Sprache, die ein Prozessor versteht, um diese Befehle dann auszuführen. So gesehen ist deine Frage falsch formuliert. Und um's kurz zu machen: Weder noch! Man kann deine Frage weder mit ja noch mit nein beantworten. Die Ausführungsgeschwindigkeit des übersetzten Programms hängen von vielen Faktoren ab. 1. Welche Compiler (Übersetzer) verwendet man, um das fertige Programm zu erstellen? Unter C++ gibt es massenweise Compiler, Pascal-Compiler gibt es nur wenige. 2. Wie gut optimieren diese Übersetzer? 3. Auf welchem Prozessor läuft die übersetzte Anwendung letztendlich? 4. Benutzt man vorgeschriebene Programmabläufe, die von anderen entwickelt wurden? Klassen, Komponenten, Funktionen? All das kann eine Ursache dafür sein, das das Programm nicht effizient genug arbeitet. 5. ... Und bei Java ist es nochmal ganz anders, den dort werden Programme erzeugt, die nicht direkt auf die Hardware zugreifen, sondern über eine Schnittstelle, dem Interpreter. PS: Wenn du dich wirklich für die Programmierung interessierst, dann lern am besten beide Sprachen entwickel ein paar Projekte und fäll dann dein Urteil. Gruß Stefan edit: Das waren vielleicht viele Rechtschreibfehler... |
Re: Warum delphi lahmer als c++?
Zitat:
|
Re: Warum delphi lahmer als c++?
Ist dann die Aussage des Wikipedia falsch?
Zitat:
|
Re: Warum delphi lahmer als c++?
Hallo,
Zitat:
Gruß xaromz |
Re: Warum delphi lahmer als c++?
Zitat:
Interpretiren ist halt irgendwo ein fester Begriff und steht für die Art der Übersetzung, die in Skriptsprachen wie PHP, Pearl oder VB Verwendung findet. Also die zeilen-/statement- weise Übersetzung von Code. |
Re: Warum delphi lahmer als c++?
Wenn ich mich nicht irre, dann ist Java Bytecode sowas ähnliches wie Maschinencode, nur für einen "fiktiven" Prozessor, sodass man es leicht portieren kann.
Ob da jetzt der Begriff "interpretieren" angebracht ist oder nicht, ist eigentlich Ansichtssache. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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