La versione 3 di Firefox ha portato con se molti cambiamenti e molte migliorie a livello utente e prestazionale; ma quasi tutti gli utilizzatori di questa nuova versione si lamentano dell’aumento del tempo di caricamento quando si lancia il browser.
Oggi vedremo come dimezzare questa attesa con un utility gratuita chiamata UPX (The Ultimate Packer for eXecutables). Questo tool riduce la grandezza del nostro file Firefox.exe.
Dopo aver scaricato ed installato l’utility in questione, estraiamo il file upx.exe e copiamolo nella directory d’installazione di Mozilla Firefox solitamente C:\Programmi\Mozilla Firefox. Dopo di che chiudiamo Firefox.
Ora lanciamo il prompt dei comandi di Windows e cambiamo il percorso fino alla directory sopra citata, per chi non sapesse come fare consiglio Open Command Prompt Shell Extension. Con il prompt dei comandi aperto e il giusto percorso impostato incolliamo il seguente codice:
for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx “C:\Programmi\Mozilla Firefox\%v”
In sostanza questo programma comprime gli eseguibili (.exe) e le librerie (.dll) di Firefox, lasciandoli però eseguibili, cosi che quando lanciamo il browser i file occuperanno meno spazio sul disco e di conseguenza necessiteranno di meno tempo per essere eseguiti.
Fatto ciò chiudiamo tutte le finestre e avviamo Firefox. Dovremmo sin da subito notare un miglioramento nel tempo d’apertura.
#1Antonio
dovrebbe essere “for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx “C:\Programmi\Mozilla Firefox\%v”
#2Pierfrancesco Petruzzelli (pierfrancesco99)
@ Antonio:
Grazie per la segnalazione, corretto 😉
#3toioski
non riesco a fare quello che hai scritto: come faccio ad installare il programma?come faccio ad impostare il percorso sul prompt?ho copiato ed incollato sul prompt ma niente….che devo fare di preciso?
#4carlo
ma io ho linux! anch’io vorrei questa miglioria!
#5Eper
Ma cosa fa di preciso il programma? Come fa a diminuire la dimensione dell’eseguibile senza danneggiarlo?
#6Ale
Complimenti! funziona alla grande!
#7marco
Io ho come percorso il seguente c:\mozilla firefox 3 beta 4\ ho cambiato il codice in for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx “C:\Programmi\Mozilla Firefox 3 beta 4\%v” ma mi dice sempre file not found, ho provato anche con “for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx “C:\Programmi\Mozilla Firefox 3 beta 4\%v” e da lo stesso errore… come mai?
#8Cikko
Vi segnalo anche firefox preloader
#9bttf92
Anche io lo stesso problema di marco, dice file not found; ho provato a spostare la cartella di firefox in percorsi senza spazi nei nomi delle cartelle(modificando anche il percoso nella riga del prompt da scrivere) ma niente.
#10salvus
anch’io stesso problema file not found
#11manzotin
la Sonic rischia il fallimento per colpa di un personaggio molto strano che ci lavora….lui è riuscito a far saltare la rete voip e quella internet(cavo&wirless)…distruggere la maggior parte dei documenti di Sonic….e per di più ha creato un sito che lo auto bannava….dalla vergogna accomulata….
#12TheMasterpiece
E per vista che si fa? Il prompt non mi fa aprire la cartella programmi (x86)…=(
#13hybrid
Pierfrancesco, questo articolo sembra molto interessante, (infatti ti ringrazio), ma io mi sarei aspettato da Geekissimo anche la spiegazione di “perché” si riesce a fare questo miracolo, o almeno cosa faccia UPX…
Non credete?
#14Olsenweb
Per chi voleva migliorare l’avvio su linux, basta scaricare la versione di UPX per linux 😉
http://upx.sourceforge.net
Per chi invece chiedeva cosa fa UPX:
UPX è un programma di compressione open source che ha la capacità di coprimere i file exeguibili (.exe) e le librerie di sistema (*.dll) lasciandoli ugualmente eseguibili, come? semplice, il nuovo eseguibile non è che un pacchetto pacchetto che si autocarica in memoria ove si decomprime e quindi esegue quanto decompresso. Lavora più velocemente di un normale eseguibile perché la parte più “lenta” del lancio di un programma è proprio la lettura del file dal disco, più grande è e più tempo ci mette a caricarsi.
Piccola avvertenza: dopo la compressione con UPX è possibile che gli antivirus o i firewall vi blocchino l’esecuzione perché, dato che la dimensione del file è cambiata, pensano che possa essere infetto! Non dategli retta e continuate tranquillamente ad usare il vostro programma 🙂
Spero di esser stato d’aiuto, per chiarimenti chiedete pure 🙂
#15Fabio
Io stimo molto geekissimo e lo adoro….ma a volte mi fate proprio incxxx….in questo post non avete specificato nulla….se e quali versiono sono supportate (32 o anche i 64 bit)….cosa faccia il programma…
vabbè….
#16manubiond
lei non ha msn? xD
#17Pierfrancesco Petruzzelli (pierfrancesco99)
@ toioski:
Installa l’utility che ho segnalato per il promp, trova la cartella di Firefox, clicca con il tasto destro e scegli Open Command Prompt
@ hybrid:
In sostanza UPX comprime l’eseguibile librerie dll del programma e delle relative estensioni.
Trovate le varie versioni per i so sul sito stesso 😉 A chi non trova il file consiglio di rifare la procedura ed assicurarsi che sia corretta.
#18rox
mi accingo a testare l’idea, ma non ho ancora ben capito perchè dovrebbe velocizzare l’avviamento di Mozilla (e di ogni altro eseguibile, presumo)
Non si aggiunge invece un overhead proprio per il fatto che c’è il bisogno di decomprimere eseguibili e librerie… o_O ?
Grazie 😉
#19gtamax
@ marco:
Se hai detto che il tuo percorso è: c:mozilla firefox 3 beta 4
Il codice non deve essere:
for %v in (*.exe *.dll components*.dll plugins*.dll) do upx “C:ProgrammiMozilla Firefox 3 beta 4%v”
ma:
for %v in (*.exe *.dll components*.dll plugins*.dll) do upx “C:Mozilla Firefox 3 beta 4%v”
la differenza è Programmi che nel primo c’è
ad ogni modo non credo di usarlo questo programma finchè non saprò cosa fa 🙂
#20agvnn
Ma una spiegazione del perchè e del come questo programma funzioni non ti pare di doverla aggiungere? mah
#21Vittore
anche io l’ho installata da un po e mi sono trovato subito bene, sostituendola al vecchio e problematico explorer. Ho “scoperto” da poco il tuo blog e approfitterò di queste feste per recuperare il tempo perso. Complimenti… (www.lastanzadiwilliam.net)
#22Santino Bivacqua
Ma come deve spiegarlo? in francese per capire cosa fa???
Gia’ l’ha scritto cosa fa, un accenno nel opst, e la spiegazione + dettagliata nei commenti…
Leggete prima di commentare!!!
Ora non voglio fare l’avvocato di nessuno, pero’ a volte si tende ad attaccare perche’ la via piu’ facile…
Ciauzz
#23godzivan
ciao a tutti
il funzionamento upx e’ molto semplice crea un file compresso eseguibile autoestraente in memoria e completamente invisibile hai vari soft.
Consigliato l’utilizzo sopratutto per i programmi nelle chiavette usb.
Usate upx con la seguente stringa di compressione per avere la compatibilita assoluta con tutti gli eseguibili.
upx.exe –lzma -9 –strip-relocs=0 –compress-icons=0 *.*
#24LL@J
ciao a tutti
volevo segnalarvi questo piccolo software standalone con gui grafica, alla portata di tutti http://portableapps.com/apps/utilities/appcompactor.
Buon lavoro continuate così vi seguo sempre.
#25Lercio
Provato, perfettamente funzionante. Unica nota. Per quelli a cui non funziona probabilmente dipende anche dalla codifica caratteri usata in Firefox, il copia incolla restituisce nella finestra CMD caratteri che non sono quelli visualizzati nella pagina e questo inficia il risultato. Conviene copiare tutto a manina facendo attenzione a non sbagliare.
#26Silver
Ciao a tutti, io ho fatto quanto scritto (e credo correttamente) ma una volta premuto invio il programma sembra vedere i file .dll ecc ma non li tocca, infatti compare sempre la scritta “packed 0 files” e Firefox si avvia sempre alla stessa velocità (neanche la dimensione dell’.exe di firefox è cambiata…)
Sbaglio qualcosa?
#27Francesco
La sintassi e’ sbagliata, o meglio le virgolette sono messe male.
cosi’ funziona:
for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx “C:\Programmi\Mozilla Firefox”\%v
#28Silver
Sono riuscito a fargli processare i file. Ho dovuto rinominare la cartella “Mozilla Firefox” dandogli un nome senza spazi (ad es. “Firefox”) e usare questa sintassi:
for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx C:\Programmi\Firefox\%v (in pratica semplicemente senza virgolette).
Ora non so se è colpa del metodo che ho usato ma non riscontro praticamente alcuna differenza nei tempi di apertura…
#29Sergei
Una volta nella cartella di firefox provate un po’ con questo comando:
for %v in (*.exe *.dll components\*.dll plugins\*.dll) do upx %v
#30Lalalala
in sintesi: avendo eseguibili e dll più piccoli, il sistema li legge in meno tempo dal disco, MA poi deve decomprimenre tutto on-the-fly priam di eseguire il programma…. magari a qualcuno velocizza anche firefox, magari ad altri no… (e non consideriamo l’effetto placebo)
cmq dubito nel dimezzamento del tempo
#31ma scusate
Io invece penso che così i tempi si allungano. Se i file vengono compressi vuol dire che all’avvio di firefox, oltre che a caricare l’exe e le dll che diciamo invece che di 40MB ora saranno 20MB (cioè mezzo secondo in meno), la cpu deve impiegare del tempo in più per ri-scompattare tutti i file e riassemblarli in memoria. Apparentemente questa soluzione è anche più veloce perchè oramai i file sono già nella memoria cache e quindi non vengono neanche caricati dal disco.
#32Ovi
@ Antonio:
ho guardato il codice un po di volte ma nn riesco a vedere la differenza tra il pezzo di codice ke hai scitto tu e quello scritto sopra nella spiegazione di come fare tutta la procedura!! =) una domanda…ma dopo aver inserito il codice nella riga di comando del propt bisogna schiacciare Invio o basta chiudere la finestra cosi cm c’è scitto nella spiegazione???!! grazie mille CIAUZZ
#33Fray
UPX è una tecnica per compattare gli eseguibili (.exe)
Funziona molto bene e c’è da una vita.
C’è anche la versione grafica mi sembra.. non da linea di comando, quella usuale.