jump to navigation

Optimus DB per velocizzare Firefox

In Troiate del giorno il 14/07/09 @ 15:54 trackback

Con questo Optimus DB, Emanuele Rampichini ha messo insieme quello che lui stesso definisce uno sporco hack che è stato ripreso da molti blog e forum, per migliorare le prestazioni di Firefox. L’estensione automatizza (menu Strumenti->Optimize internal databases!1 ) questo comando (NB: da eseguire Firefox chiuso):

$: cd .mozilla/firefox/*.default
$: for i in *.sqlite; do echo "VACUUM;" | sqlite3 $i ; done

Il trucco consiste nel deframmentare i file che contengono i database di Firefox con le informazioni sulla cronologia, moduli, cookies… e velocizza ad esempio l’apertura di alcuni menu (cronologia) o della “awesome bar”. Da provare con cautela (i comandi e/o l’estensione). Se fate un uso intenso di Firefox noterete la differenza.


Note all'articolo:

  1. Magari una prossima versione senza questa enfasi? :D []

Pagine forse correlate:

Etichette: ,

Commenti »

1. Facebook User - 14/07/09 @ 15:01

Se non sbaglio c'è una funzione identica o simile in bleachbit?

2. Paolo - 14/07/09 @ 15:14

o più velocemente:
for i in ~/.mozilla/firefox/*/*.sqlite; do echo “VACUUM;” | sqlite3 $i ; done

3. lele85 - 14/07/09 @ 15:38

Grazie della visibilità. Non mi ero accorto di aver lasciato il punto esclamativo. Mi è capitato anche di scrivere parolacce e improperi commentando codice quindi direi che è andata bene :D . Comunque al più presto verrà corretto. :P
Naturalmente feedback consigli insulti e altro sono sempre bene accetti!

4. lele85 - 14/07/09 @ 15:46

Leggendo sul loro sito sembra di si… non conoscevo il software in questione. Lo proverò sicuramente.

5. Dass - 14/07/09 @ 15:52

avevo provato (con profitto) il comando da riga di comando (ops!)
ma ora con l'estensione dovrebbe essere tutto più facile se non che…
son scemo io o non ho capito?
se va fatto a firefox chiuso come faccio a usare una sua estensione e andare sul menù strumenti?

6. lele85 - 14/07/09 @ 16:02

L'estensione lavora su una copia dei files sqlite, poi li sposta sopra gli originali e riavvia il browser. Ovviamente Felipe si riferiva a quelli che preferiscono lanciare lo script manualmente senza installare l'ennesimo plugin per FF3.

7. Dass - 14/07/09 @ 16:10

complimenti, fico.
certo che il team di firefox dovrebbe in qualche modo implementare la cosa un pò più internamente al suo codice

8. lele85 - 14/07/09 @ 16:18

Daccordissimo. Per una cosa del genere non dovrebbe esistere una estensione od un hack ma dovrebbe essere implementato un meccanismo di “pulizia” interno ed automatizzato. Io l'ho fatto solo per divertirmi un po e imparare qualcosa.

9. Paolo - 14/07/09 @ 16:34

Per esempio, all'avvio di Firefox, se sono passati tot giorni dall'ultima ottimizzazione, far comparire un bel messagebox che chiede se si vuole ottimizzare quel particolare profilo che si sta avviando, prima ancora di avviare completamente firefox.
Oppure uno potrebbe anche farsi uno scriptino con zenity da lanciare prima di firefox.

10. linuser - 14/07/09 @ 16:38

Quoto : potrebbero implementare un processo , un “garbage collector” , un db optimizer …. che ogni tot ore di utilizzo parte e opera o come l'estensione – sui copie dei file in questione – oppure alla chiusura di firefox , magari preceduto da una finestra di messaggio che avvisa di attendere il concludersi dell'operazione.

11. iacchi - 14/07/09 @ 16:55

Io l'ho usato da riga di comando e funziona benissimo. Unica cosa: mi ritrovo 4 file in più (non ho controllato quali), ma fa niente.

12. Dass - 14/07/09 @ 18:19

se l'operazione venisse fatta a ogni chiusura (o avvio?) del browser, non dovrebbe metterci molto, no?

13. [email protected] - 14/07/09 @ 19:18

Ci tengo a precisare che tale “coso” è nato empiricamente in una conversazione su #archlinux tra me e Lele :D
Grandi! :°D

14. Facebook User - 14/07/09 @ 21:25

Beh, il tuo è più pratico. Bravo.

15. lele85 - 15/07/09 @ 9:47

L'ho scritto anche sul blog come è nata l'idea! Sei stata la mia musa ispiratrice! :P

16. Gianluigi - 15/07/09 @ 14:44

Quando si dice un “hack” pulito ed efficace!
Complimenti lele, adesso aspettiamo che venga inserito tra gli add-ons ufficiali di firefox!
Aspettiamo il porting per windows :P

17. shady - 15/07/09 @ 15:44

lo uso già da un po' (a manina) e confermo l'efficacia. Bravo Bravo…. ;)

18. linuser - 15/07/09 @ 17:26


cd C:Documents and SettingsDati applicazioniMozillaFirefoxProfiles
for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i

* Courtesy of a windows user

19. dentaku65 - 16/07/09 @ 6:24

…mmm, a me da questo:
SQL error near line 1: constraint failed

20. lele85 - 16/07/09 @ 9:27

Non stai utilizzando l'estensione immagino.
Firefox è chiuso quando esegui lo script?

21. dentaku65 - 16/07/09 @ 18:35

Ho installato l'estesione, l'ho eseguita e mi ha chiesto di riavviare FF. Ho quindi richiuso FF. Ma mi da sempre:
SQL error near line 1: constraint failed

22. lele85 - 16/07/09 @ 19:10

Scusa ma non capisco dove compare l'errore. È un messaggio di firefox?

23. dentaku65 - 16/07/09 @ 21:36

ciao lele
l'errore mi compare dopo aver eseguito:
cd .mozilla/firefox-3.5/*.default
for i in *.sqlite; do echo “VACUUM;” | sqlite3 $i ; done

24. lele85 - 17/07/09 @ 10:52

Come sospettavo… se usi l'estensione non serve che utilizzi lo script bash.

25. Andrea Pola - 17/07/09 @ 15:25

Stavo provando lo script cd C:Documents and SettingsDati applicazioniMozillaFirefoxProfiles
for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i

ma restituisce l'errore %%i non atteso come mai?

26. lele85 - 17/07/09 @ 15:46

Non ho un PC con windows a portata di mano… ma ad occhio credo che non ci vadano i 2 %:

Il vomando dovrebbe essere questo:

for %i in (*.sqlite) do @echo VACUUM; | sqlite3 %i

27. dentaku65 - 17/07/09 @ 19:10

il doppio %% lo metti se lo esegui come batch file, a riga di comando ce ne và solo uno % …o almeno credo…

28. dentaku65 - 17/07/09 @ 19:12

ah… avevo fatto un'insalata turca allora… anche se sull'altra macchina il comando con l'extension istallata non aveva dato problemi… ciauz

29. Andrea Pola - 17/07/09 @ 20:34

ok, ora ho fatto il batch ma dice che sqlite3 non è riconosciuto come comando interno o esterno

30. linuser - 17/07/09 @ 20:52

Lo windows user che mi ha suggerito “la formula magica” conferma :
- %i -> notazione se si lancia lo script da riga di comando
- %%i -> notazione se si include il tutto in un file batch or cmd

Comunque … se non installi sqlite3 in C:Windows o in C:WindowsSystem32 – per evitare di estendere il PATH – come puoi pretendere che funzioni ?

sqlite3 non è un programma standard di Windows … -> h t t p://www.sqlite.org/download.html -> Sezione : Precompiled Binaries For Windows -> File : sqlite-3_6_16.zip

31. Andrea Pola - 18/07/09 @ 3:28

Io non pretendo che funzioni…. ho provato al volo la riga di codice e non andava…quindi mi sono chiesto logicamente…….. il perchè…..=> chiedo => provo….