AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi

Ein Thema von Benedikt Magnus · begonnen am 4. Mai 2016 · letzter Beitrag vom 9. Mai 2016
Antwort Antwort
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#1

DLL mit FPC/Codetyphon erheblich kleiner als unter Delphi

  Alt 4. Mai 2016, 21:23
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...

Geändert von Benedikt Magnus ( 4. Mai 2016 um 21:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 4. Mai 2016, 22:29
hat FreePascal nun Delphi doch endlich überholt?
Wieso überholt? Wenn ich das richtig sehe, muss FreePascal noch einige KByte and Code aufholen, oder?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#3

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

  Alt 4. Mai 2016, 22:43
Wie aufholen?
Delphi: 1.582 KB
FreePascal: 230 KB
Bei gleicher DLL.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 4. Mai 2016, 22:50
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#5

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

  Alt 4. Mai 2016, 22:54
Siebenmal mehr Funktionalität? Was denn?
Und wenn das alles nicht gebraucht wird, fragt sich, warum Delphi es dann überhaupt in das Kombilat steckt?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#6

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

  Alt 4. Mai 2016, 22:55
Siebenmal mehr Funktionalität? Was denn?
Ja, kommt ungefähr hin.

Und wenn das alles nicht gebraucht wird, fragt sich, warum Delphi es dann überhaupt in das Kombilat steckt?
Warum tut FreePascal es denn?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#7

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

  Alt 4. Mai 2016, 22:54
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
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

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

  Alt 5. Mai 2016, 00:30
In der mit Delphi kompilierten Version steckt eben entsprechend mehr Funktionalität.
Die brachliegt.

Beide DLLs tun hoffentlich das gleiche, nämlich das, was im Quelltext steht. Der Rest in der von Delphi erzeugten DLL ist nicht abrufbar.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 5. Mai 2016, 12:27
Beide DLLs tun hoffentlich das gleiche, nämlich das, was im Quelltext steht. Der Rest in der von Delphi erzeugten DLL ist nicht abrufbar.
So einfach ist es nicht. Der Compiler kann nicht feststellen ob zum Beispiel über die RTTI Codeteile ausgeführt werden. Dazu kommt dass zum Beispiel Objekte wie Application oder Screen initialisiert werden egal ob sie der Benutzer benutzt oder nicht.

Um das vollständig zu lösen, müsste der Compiler alles verstehen was in dem Programm passiert. Das ist aber Stand heute nicht möglich.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:57 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 by Thomas Breitkreuz