Sprytną sztuczką, aby poprawić szybkość przeglądarki Firefox jest odkurzanie bazy danych sqlite. Proces VACUUM odbudowuje bazę danych, defragmentując ją, zmniejsza rozmiar i przyspiesza wyszukiwanie w nim, bardziej wydajne korzystanie z dysku może również zmniejszyć obciążenie dysku podczas odczytu sekwencji z moich sektorów. Zasadniczo dotyczy to każdej bazy danych, która nie wykonuje automatycznie próżni / defragacji na sobie.

Sam proces defragmentacji bazy danych Firefox jest dość trywialny – wykonujemy sqlite3 plik db VACUUM w katalogu profilu firefox. W Linuksie ścieżka do niego to zwykle ~ / .mozilla / firefox / random-name.default. W zasadzie powinieneś tylko mieć 1 katalog w .mozilla / firefox, jeśli masz więcej, możesz sprawdzić ~ / .mozilla / firefox / profile.ini w celu znalezienia poprawnego katalogu w profilu przeglądarki. Ponieważ nie dbam o to, aby proces był wykonywany ręcznie, napisałem podstawowy skrypt do defragmentacji baz danych.:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

Po uruchomieniu skryptu wyszukiwanie w historii i ładowanie samego lisa jest znacznie szybsze. Myślę, że skrypt może być używany w Mac OS z małymi modyfikacjami.

p.s Oto opcja dla Mac OS X. – testowany na Mac OS X Sierra. Musimy zmusić separator do utworzenia nowego wiersza ze względu na miejsce w ścieżce do folderu zawierającego profil Firefoksa

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done