Newsgroup: it.comp.lang.delphi
Titolo: Dimensione eseguibile Delphi 2010 vs. XE7

Ho da poco acquistato l'ultima versione.
Ho aggiornato il primo progetto a questa versione ed ho avuto la sgradita sorpresa di scoprire che le dimensioni dell'eseguibile sono aumentate a dismisura da 3.348 Kb a 20.991 Kb.
E' normale?
C'è un sistema per ridurre le dimensioni tenuto conto che non vorrei distribuire le BPL, visto che finora le dimensioni erano accettabili con la convenienza di evitare riferimenti esterni?
Grazie
Vik

 Ho aggiornato il primo progetto a questa versione ed ho avuto la sgradita sorpresa di 
 > scoprire che le dimensioni dell'eseguibile sono aumentate a
 > dismisura da 3.348 Kb a 20.991 Kb.
 
Mi viene il dubbio che stiano usando il compilatore del 
FreePascal/Lazarus, hai provato ad usare il programma che si usa con 
lazarus per ridurre la dimensione, dovrebbe essere "strip.exe".
 
Per me è quello, ma se qualcuno ha altro info. Dopo questo al limite una 
passata con upx.
 
-- 
-------------------------------
per scrivere in privato
togliere "1975nosp"
 
to reply remove "1975nosp"

 lazarus per ridurre la dimensione, dovrebbe essere "strip.exe".
 
Ho solo il compilatore Delphi.
Ma succede solo a me oppure la variazione di dimensioni è normale?
(cmq grazie delle 'dritte')
Vik


Debug attivato?

 C'è un sistema per ridurre le dimensioni tenuto conto che non vorrei distribuire le BPL, visto che finora le dimensioni erano accettabili con la convenienza di evitare riferimenti esterni?
 
Prova a rimuovere (previo backup) tutte le Unit dalle clausole *uses* del tuo progetto che sei _sicuro_ di non utilizzare: a volte capita di fare riferimento a moduli non utilizzati che possiedono sezioni di *initialization*/*finalization* che debbono essere eseguite per forza e che includono riferimenti a tipi non usati effettivamente nel progetto.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI (Software and Web Developer)
#Home: 
http://bit.ly/marcobreveglieri
 
#Blog: 
http://bit.ly/compilaquindiva
 

 passata con upx.
 
Attenzione che UPX (o altri "compressori") spesso causano falsi positivi con gli antivirus più diffusi poiché la decompressione al volo dell'eseguibile viene vista come una tecnica di mascheramento di un possibile virus.


 C'č un sistema per ridurre le dimensioni tenuto conto che non vorrei distribuire le BPL, visto che finora le dimensioni erano accettabili con la convenienza di evitare riferimenti esterni?
 
Strippa dall'eseguibile i simboli di debug: se č come per Lazarus, 
dovresti guadagnare parecchio (no, non basta compilare in release...)
 

 riferimento a moduli non utilizzati che possiedono sezioni di 
 
 
Questa è sicuramente una cosa da fare a prescindere.
Ma continuo a chiedermi che importanza ha la dimensione di un eseguibile.
 
A.


Magari bisogna preparare un aggiornamento in contemporanea per 40 Pc con una certa urgenza e per inviargli agli utenti si una un un server FTP esterno a cui poi 40 pc (non per la stessa sede/utente ma 40 realtà differenti) :
 40x20mbxvelocitàdiconnessione= quanto tempo occorrerrà?
 
con fastwebx40 al momento posso impiegare per circa 2,5mb anche un'ora (se non ricordo male)
 
"dall'altra parte" oramai,o ggi, 20mb li scarichi un po più velocemente quindi per chi deve ricevere il problema forse è monire
 
..è solo un caso reale
 


C'e' qualcosa che non torna nei tuoi calcoli... per caricare un file
da 20Mb sul sito ftp, anche avendo una normale ADSL casalinga non
puoi metterci piu' di qualche minuto.
 
Al giorno d'oggi 20MB non sono piu' una dimensione preoccupante. 
Le App dei cellulari sono piu' grosse! :)
 
ciao
Giacomo
 

> ..è solo un caso reale
 
touche'
 
A.
 
 

Ho già fatto questa prova.
Cancellato tutto, lasciato a Delphi inserire quelle necessarie e poi, a mano, quelle che mancavano.
Cmq dal 2010 a XE7 il progetto era identico, quindi i riferimenti alle uses non sono aumentati.
Grazie per le possibili soluzioni, ma quello che volevo sapere era se questo aumento di volume è normale e cioè lo avete notato anche a voi.

 A.
 
gli eseguibili vengono utilizzati e, in caso di nuova versione, aggiornati da una serie di filiali (collegati in VPN).
Ovvio che è fastidioso dover aspettare un minuto col cliente davanti quando, fin'ora, era necessaria solo una decina di secondi...

 Debug attivato?
 
Ho disattivato tutti i flag del debug e il file si è ridotto a 14.700.
Sempre molto più dei 3.300 kb di delphi2010 ma è già qualcosa!!!
Grazie!!!
Vik

 A.
 
Forse il problema č capire "il perchč" la dimensione aumenta cosi 
notevolmente, esistono dei motivi validi?
Un buon programmatore ( quindi non io ) penso che debba chiederselo.


 Ma continuo a chiedermi che importanza ha la dimensione di un eseguibile.
 
In determinati casi aumenta anche la memoria occupata dal programma a runtime: a seconda dell'ambiente in cui viene eseguito, ogni MB potrebbe essere determinante, soprattutto in ambienti "enterprise" dove magari girano più istanze dell'applicazione, schedulate in qualche modo.
 
Oppure semplicemente quando c'è da distribuire un aggiornamento a un numero parecchio elevato di utenti.



ho notato che anche compilando un semplice piccolo menu con 1 palette standard "viene fuori" un eseguibile da 3mb !!! al momento non so disattivare bene tutte le opzioni aggiuntive per il debug etc ma mi sembra cmq eccessivo


come hai disattivato i flag?
tramite opzioni direttamente nell'ide o tramite direttive di compilazione $XXX- + ?