Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi (https://www.delphipraxis.net/189111-dll-mit-fpc-codetyphon-erheblich-kleiner-als-unter-delphi.html)

Benedikt Magnus 4. Mai 2016 20:23

DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Klar, mein XE5 ist auch nicht mehr das jüngste Delphi, aber das hat mich dann doch etwas verwundert, denn bisher kannte ich FPC nur mit vergleichsweise großen Kompilaten.

Folgendes ist mir mit FPC 3.1.1 neuerdings aufgefallen:
Ich habe unter Delphi XE eine ganz einfache DLL(System.Classes und System.SysUtils eingebunden) erstellt. Gesamtgröße, ganz normal, unter Win64 Release: 1.582 KB.
Die DLL erstelle ich ebenfalls unter Linux mit CodeTyphon. Zum Spaß habe ich dort mal das Crosscompiling für Win64 aufgesetzt. Und was kam raus? Die gleiche DLL mit FPC kompiliert: 230 KB!
Nicht nur, dass das FPC-Kompilat kleiner ist als das von Delphi, nein, sogar fast siebenmal kleiner.

Kann mir das einer erklären? Also nicht, dass das ein Problem darstellen würde, es wundert mich nur sehr. Hat es seit XE5 da jede Menge erstaunlicher Entwicklungen gegeben oder hat FreePascal nun Delphi doch endlich überholt?

Ich glaube, ich mache mal ein paar Geschwindigkeitstests...

Uwe Raabe 4. Mai 2016 21:29

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1337498)
hat FreePascal nun Delphi doch endlich überholt?

Wieso überholt? Wenn ich das richtig sehe, muss FreePascal noch einige KByte and Code aufholen, oder?

Benedikt Magnus 4. Mai 2016 21:43

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Wie aufholen?
Delphi: 1.582 KB
FreePascal: 230 KB
Bei gleicher DLL.

jaenicke 4. Mai 2016 21:50

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
In der mit Delphi kompilierten Version steckt eben entsprechend mehr Funktionalität. Da ändert es auch nichts daran die gleichen Units einzubinden, weil diese eben nicht gleich sind.

Benedikt Magnus 4. Mai 2016 21:54

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Siebenmal mehr Funktionalität? Was denn?
Und wenn das alles nicht gebraucht wird, fragt sich, warum Delphi es dann überhaupt in das Kombilat steckt?

Uwe Raabe 4. Mai 2016 21:54

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Um es auf andere Art zu zeigen: Eine leere DLL mit SysUtils und Classes in Delphi 7 hat knapp 90 kB. Ist Delphi 7 damit ein Fortschritt gegenüber Delphi XE5 oder FreePascal?

Uwe Raabe 4. Mai 2016 21:55

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1337507)
Siebenmal mehr Funktionalität? Was denn?

Ja, kommt ungefähr hin.

Zitat:

Zitat von Benedikt Magnus (Beitrag 1337507)
Und wenn das alles nicht gebraucht wird, fragt sich, warum Delphi es dann überhaupt in das Kombilat steckt?

Warum tut FreePascal es denn?

Benedikt Magnus 4. Mai 2016 22:07

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Ich war selbst bisher immer der Meinung, dass Delphi FreePascal noch um Meilen voraus ist. Aber sag mir doch bitte, welche Mengen Funktionen ich in Delphi erwarten kann, die es in FreePascal nicht gibt? Klar, mir fällt da das ein oder andere ein (anonyme Methoden z.B.), aber was denn Großartiges, das einen solchen Unterschied erklären könnte?

Zu Delphi 7:
Natürlich nicht. Aber zwischen Delphi 7 und XE5 etc. ist schon ein erheblicher Unterschied. Diesen sehe ich nicht zu FreePascal. Außerdem mein Kommentar zur Geschwindigkeit.

milos 4. Mai 2016 22:20

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1337510)
Ich war selbst bisher immer der Meinung, dass Delphi FreePascal noch um Meilen voraus ist. Aber sag mir doch bitte, welche Mengen Funktionen ich in Delphi erwarten kann, die es in FreePascal nicht gibt? Klar, mir fällt da das ein oder andere ein (anonyme Methoden z.B.), aber was denn Großartiges, das einen solchen Unterschied erklären könnte?

Zu Delphi 7:
Natürlich nicht. Aber zwischen Delphi 7 und XE5 etc. ist schon ein erheblicher Unterschied. Diesen sehe ich nicht zu FreePascal. Außerdem mein Kommentar zur Geschwindigkeit.

Es geht dabei ja nicht um Sprachfeatures sondern eher um den Funktionsumfang die die Units eben mitliefern. Vergleiche sie doch mal in XE5 und Lazarus.

Ansonsten kannst du ja auch versuchen wirklich 100% den gleichen Code zu kompillieren und nicht nur Units mit dem selben Namen einzubinden und dann einen richtigen Vergleich machen :wink:

Freundliche Grüsse

Uwe Raabe 4. Mai 2016 22:32

AW: DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
 
Zitat:

Zitat von milos (Beitrag 1337512)
Ansonsten kannst du ja auch versuchen wirklich 100% den gleichen Code zu kompillieren und nicht nur Units mit dem selben Namen einzubinden

Das wird ebenfalls nicht viel bringen. Der Code kann sich ja auch nur auf den gemeinsamen Nenner beziehen und lässt vermutlich in beiden Systemen noch einiges brach liegen.

Vielleicht sollte man sich erstmal fragen, was diese Größe der DLL als Vergleichswert überhaupt aussagt. Wie schon in meiner ersten Antwort angedeutet, ist es erstmal eine Ansammlung von compiliertem Code. Es sagt insbesondere nichts über die Qualität, den Funkionsumfang oder die Effizienz dieses Codes aus. Wenn ich nur die Größe der DLL betrachte, dann hat Delphi 7 hier immer noch die Nase vorn. Trotzdem vermeide ich es weitestgehend, damit zu arbeiten und gebe aktuell Delphi 10.1 Berlin den Vorzug. Hier hat die leere DLL übrigens 968704 Bytes (RELEASE).


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 Uhr.
Seite 1 von 7  1 23     Letzte »    

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