PB, Module und .exe - Grössen

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

PB, Module und .exe - Grössen

Beitrag von Bisonte »

Hallo.

Ich dachte so bei mir, Module... cool, kann ich aus meinen Userlibs ein Modul basteln.
Soweit so gut. Allerdings mit einem kleinen Haken:

Module scheinen immer komplett mitkompiliert zu werden, egal ob die Funktionen aufgerufen
werden oder nicht. Anders als ohne Module.

Probiert doch mal aus, ein grosses Modul zu nehmen und nur eine Funktion zu nutzen.
Danach dass ganze mit dem gleichen Code, nur ohne Module. Der Groessenunterschied
der Kompilate ist doch extrem.

Also ist es doch sinnvoller entweder viele kleine Module (wenn sie gebraucht werden)
zu inkludieren oder weiterhin Userlibs zu generieren, als ein grosses allumfassendes
Modul, wenn man keine aufgeblähten Kompilate wünscht.

Ist euch das auch aufgefallen ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB, Module und .exe - Grössen

Beitrag von RSBasic »

Ich möchte es jetzt nicht selber erstellen und testen, aber wie lauten die Größen?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PB, Module und .exe - Grössen

Beitrag von ts-soft »

RSBasic hat geschrieben:Ich möchte es jetzt nicht selber erstellen und testen, aber wie lauten die Größen?
90 - 60 - 90 :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: PB, Module und .exe - Grössen

Beitrag von 7x7 »

ts-soft hat geschrieben:90 - 60 - 90 :mrgreen:
Wie?? Kennst du DIE auch? :mrgreen:
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: PB, Module und .exe - Grössen

Beitrag von Bisonte »

RSBasic hat geschrieben:Ich möchte es jetzt nicht selber erstellen und testen, aber wie lauten die Größen?
Ich meine :

Der Aufruf MessageRequester("Info", Common::GetIPAdress("purebasic.fr")) soll das ganze Programm sein.


Wenn ich "Modul Common" inkludiere wird die Exe 210KB gross...
Wenn das ganze was im "Modul Common" steht, ohne das Modulfeature nutze, Exe = 24KB

Beide "includes" haben beinahe die gleiche Zeilenzahl als Source.

Also wird wohl Declare innerhalb des DeclareModule - Blocks dafür sorgen, dass der Compiler alles kompiliert, und nicht nur das, was auch aufgerufen wird.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB, Module und .exe - Grössen

Beitrag von RSBasic »

Hm und wie hoch ist jeweils der Speicherverbrauch?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: PB, Module und .exe - Grössen

Beitrag von PMV »

Bisonte hat geschrieben:Also ist es doch sinnvoller entweder viele kleine Module (wenn sie gebraucht werden)
zu inkludieren oder weiterhin Userlibs zu generieren, als ein grosses allumfassendes
Modul, wenn man keine aufgeblähten Kompilate wünscht.
Module machen nur Sinn, wenn sie Codeblöcke sinnvoll kapseln. Riesen große
Module mit tausenden von Funktionen sind genau so problematisch wie hunderte
Module mit ein oder zwei Funktionen. :wink:

Mal davon abgesehen spielt für 99% von uns die Größe der EXE keine Rolle.
Wenn dir das aber so wichtig ist, dann sollteste das als Feature-Request
(oder Bug Report :? ) im englischen Forum mal posten und schauen,
was draus wird. :wink:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: PB, Module und .exe - Grössen

Beitrag von Bisonte »

Ich wollte ja nur darauf aufmerksam machen ;)

Mir ist das auch schnuppe ob ich einen "Overhead" von 1MB oder 10 MB produziere...
Immer noch bei weitem weniger als das ganze .NET Gebrummsel :mrgreen:
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: PB, Module und .exe - Grössen

Beitrag von tft »

Hallo,

hin hinblick auf die sonstige Strategie von PB ..... eher ein Rückschritt. Eine Info die nicht Mega
wichtig ist. Aber gut zu wissen das mit Module die zeiten der kleinen Exe vorbei sind. Denn Module
sind schon nicht ganz unpraktisch.

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: PB, Module und .exe - Grössen

Beitrag von PMV »

Stark ausgesiebt hat PB noch nie. Hat Prozedur A die Prozedur B aufgerufen,
wird Prozedur B bereits mit gelinkt, obwohl Prozedur A gar nicht verwendet wird.
Soweit zumindest mein Wissen diesbezüglich ...
Vermutlich wird ein Modul komplett eingebunden, sobald nur eine Funktion
daraus aufgerufen wurde. So lange das Thema aber keiner im englischen
Forum anspricht, wird sich hier wohl nur einfach jeder ins leere beschweren
und so Halbwissen wie meines ansammeln. :mrgreen:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten