![]() |
Performance von Pascal-Compilern
Ich plane z.Z. ein etwas größeres Projekt, das sowohl auf Linux als auch auf Windows lauffähig sein soll, und zwar mit der größtmöglichen Geschwinddigkeit. Die Sprache wird ObjectPascal sein.
Nun die Frage: Hat jemand Information über die Geschwindigkeit der erzeugten Programme von verschiedenen ObjectPascal-Compilern (Delphi/Kylix, FreePascal, GNUPascal) auch mit Berücksichtigung der unterschiedlichen OS (Windows, Linux)? Speziell Daten zu Listenverwaltungen und zum Umgang mit Objekten wären für mich interessant. Und inwiefern ist GNUPascal kompatibel zur DL? FreePascal hab ich bereits getestet und bin zufrieden damit, doch wie sieht es mit GNUPascal und Konsorten aus? Wäre nett, wenn mir jemand Infos geben könnte. |
Re: Performance von Pascal-Compilern
Zitat:
Zitat:
|
Re: Performance von Pascal-Compilern
![]() |
Re: Performance von Pascal-Compilern
ich wollte Free-Pascal und den GNU auch gestern mal testen, weil ich consolen programme unter linux schreiben will. und vielleicht auhc GUI's, mit einem anderen Toolkit.
jedoch hab ich son paar download probleme. ich würde dir Kylix empfehlen, es gibt ne kostenlose Personal Version auf borland.com , der sollte doch class kennen^^ |
Re: Performance von Pascal-Compilern
also ich kann dir Freepascal empfehlen.
Ich verwende es für kleine Linux-Consolen-Anwendungen und für CGIs |
Re: Performance von Pascal-Compilern
sorry leutz, ich will ja nicht schlechte Stimmung verbreiten, aber lest Euch die Ausgangsfrage nochmal durch und dann Eure Antworten! Dann könnte Ihr mal selber überlegen, obs das nun war!
|
Re: Performance von Pascal-Compilern
Danke, Minz ;)
Nei, dass es Kylix gibt, ist schon klar, aber leider hab ich noch keine Geschwindigkeitsvergleiche von Kylix und Delphi gesehen. |
Re: Performance von Pascal-Compilern
Zitat:
Zitat:
|
Re: Performance von Pascal-Compilern
Zitat:
Ich habs zwar nicht dazu geschrieben, aber ich meinte die Geschwindigkeit der gleichen Algorithmen nach der Compilierung durch unterschiedliche Compiler. Und da ich erstens nicht alle ObjectPascal-Compiler kenne und zweitens wenig Ahnung und Erfahrung von solchen Benchmarks habe, hab ich hier mal gefragt. Zitat:
Und mich würden halt speziell Benchmarks in Bezug auf die Objektverwaltung interessieren, da ich bisher nur eine Gegenüberstellung von verschiedenen OP-Compilern gefunden hab. Dort schneidet zwar Delphi am besten ab, aber es geht halt nur um Arithmetik und solche Sachen. |
Re: Performance von Pascal-Compilern
Zitat:
Zumindest unterstützt der Compiler von Delphi6 einige Inline-Assembleranweisungen 'neuerer' (MMX/SSE/SSE2?) IA32-Prozessoren - benutzt diese aber nicht zur Optimierung (der Compiler unterstützt bis zum heutigen Tage keine prozessorspezifische Optimierung damit das Image immer auf allen von Delphi unterstützten Plattformen läuft). Ein allgemeines 'Problem' der Delphi-Compiler ist, dass sie keine Inlining unterstüzen. Gruss Nico ps: Grundsätzlich läßt sich die Code-Erstellung beim Delphi-Compiler kaum beeinflussen, was auch der Grund sein dürfte, warum in einigen Fällen C/C++/Asm-Module mit Delphi-Units gelinkt werden - und somit Delphi 'nur' noch als GUI-Entwicklungswerkzeug benutzt wird (allerdings erkennt/akzeptiert der Delphi-Linker nur sehr einfache OMF-Objektdateien, sodass man entweder viel Arbeit mit der Einbindung hat, oder man bei der Wahl der C/C++/Asm-Compiler/Linker eingeschränkt ist). |
Re: Performance von Pascal-Compilern
Hallo Chewie,
Zitat:
D5 erzeuge den kompaktesten (exe-Größe) Code, bei der Geschwindigkeit bin ich mir nicht sicher, am besten Du fragst ihn mal. |
Re: Performance von Pascal-Compilern
Zitat:
Ich glaube nicht, dass es wesentliche Unterschiede bei der Code-Erstellung zwischen den 'aktuelleren' Delphi-Compilern gibt. Was sich allerdings im Laufe der Versionen - mal in die eine, mal in die andere Richtung - geändert hat, sind Dinge die Laufzeitbibliotheken (RTL) und Standardbibliotheken (VCL u.a.) - deren 'Performance' läßt sich schlecht vergleichen und hat mit dem Compiler wenig zu tun. |
Re: Performance von Pascal-Compilern
Schau mal hier nach, da hat sich mal einer wissenschaftlich damit beschäftigt und einen Benchmarktest der gängigen Pascal Compiler erstellt:
![]() Gruß, Marcel |
Re: Performance von Pascal-Compilern
hey, netter vergleich.
die einen sagen, GNU nutzen, die anderen sagen FreePascal. aber was da verglichen wurde ist nicht schlecht. nur schade, dass Kylix nicht dabei war. |
Re: Performance von Pascal-Compilern
Zitat:
|
Re: Performance von Pascal-Compilern
Welche Bereiche interressieren Dich denn ?
Für ein Cross-Plattform Projekt ist die kompatiblität der Compiler wichtig. Da wäre wohl Kylix erste Wahl. Die Compiler sollten wohl ähnlich schnellen Code erstellen, probiere es am besten mit einem Testprojekt unter gleichen Hardwarebedingungen aus. Mit Kylix legst Du Dich allerdings auf Linux fest, im Falle von FreePascal stehen Dir auch andere Plattformen wie Free-/Net- und OpenBSD, Solaris und demnächst auch PowerPC Plattformen wie MacOS, AIX etc. zur Verfügung. Im Hinblick auf Skalierbarkeit ein entscheidender Vorteil gegenüber Kylix. Seitens Borland gibt es auch widersprüchliche Meldungen was die Weiterentwicklung von Kylix betrifft. Ich persönlich verwende zur Zeit FreePascal unter FreeBSD für meine Projekte. Im Punkt Geschwindigkeit konnte ich bisher keine nachhaltigen Seiteneffekte feststellen. Bei Datenbankanwendungen ist die Ausführungsgeschwindigkeit allerdings auch nicht so entscheidend wie z.b. bei statistischen Berechnungen. Es kommt halt auf den Anwendungsfall an. Schreib dochmal was Du genau in Deinem Projekt machen möchtest. Die Programmiersprache solltest Du auch für den speziellen Anwendungsfall aussuchen. Pascal ist nicht für alle Fälle ideal. Bei rechenintensiven Anwendungen wirst Du an einem Compiler, der CPU-spezifische Instruktionen erzeugt nicht vorbeikommen. Weder der Delphi- noch der Kylix Compiler erzeugen CPU-optimierten Code. Bei FreePascal wird zumindest 386/486, Pentium, PII/K6 optimierter Code erzeugt. Gruß, Marcel |
Re: Performance von Pascal-Compilern
Es handelt sich um Berechnungen für ein MM-Spiel (Massive Multiplayer). Es sollen also Daten für beispielsweise 1000 Spieler berechnet werden. Dabei wird halt auf eine Datenbank zugegriffen, wahrscheinlich MySQL.
Ein großer Teil der Rechenzeit dürften zwar die Datenbankzugriffe darstellen, aber der Hauptteil an der Rechenzeit sind zum einen Wanderungen in verketteten Bäumen, um herauszufinden, was berechnet werden soll, und zum anderen zur eigentlichen Berechnung einfache arithmetische Operationen. Ich schätze, dass das größte Optimierungspotenzial nicht bei den arithmetischen Operationen auftritt, sondern eher bei dem Durchwandern der Bäume und beim Aufruf von dynamischen bzw. virtuellen Methoden. Allerdings hab ich davon nicht wirklich Ahnung, es sind nur Vermutungen. Keine Ahnung, wie lang die Berechnungen wirklich dauern, aber je schneller, desto besser. ObjectPascal als Sprache haben wir ausgewählt, da wir da drin im Gegensatz zu C++ recht fit sind. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 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