Loading...

2009-08-18

SQLite Optimizer - Firefox Extension

引用:sqlite 最適化 - Firefox拡張機能 : (SQLite OPtimizer - Firefox Extension)
        author : miyafx (C_sar)


sqlite 最適化 - Firefox拡張機能
Firefox 3.0.0 - 3.5 用
Ver. 0.5.1 ( 2009/07/17 )
Firefoxプロファイルフォルダ直下にある *.sqlite データベースの最適化を行います。

※ Firefox 3.5 からは places と cookie の db が常時ブラウザに掴まれているようなので、この拡張では最適化できません。
これらの db を最適化したい場合は他サイトで紹介されている sqlite3.exe 等を使った方法をご利用ください。
最適化のタイミング:
自動または手動
自動の場合は Firefox を10回終了するたびに1度最適化を実行します( about:config で変更可 )。
sqlite_opt.auto_reindex_per_browser_close (デフォルト 10)
最適化の方法:
# Ver. 0.1
各 sqlite データベースに対して REINDEX を実行します( about:config で VACUUM に変更可 )。
sqlite_opt.use_vacuum_instead_reindex ( デフォルト false )
# Ver. 0.2
Reindex のみ(デフォルト)。
Vacuum 後 Reindex 。
選べるようにしました。
これにともない sqlite_opt.use_vacuum_instead_reindex は廃止。
sqlite_opt.vacuum_before_reindex ( デフォルト false )
を新設。
# Ver.0.5
Firefox 3.5 に対応しました。
エラー処理が甘々だったのを改善。
# Ver.0.5.1
突然 FF 3.5.1 がリリースされたので、install.rdf のみ修正して、再度アップしました。_________________________________________________________

SQLite Optimizer で Firefox の起動が爆速になるclouder
ここに紹介されている SQLite Optimizer という Extension を Firefox に入れて、REINDEX をするとFirefox の起動が爆速になるというもの。

Firefox 3 では、履歴やブックマーク、クッキーなどの他、一部アドオンの利用データも SQLite データベースで管理している。
日々の利用により、このデータベースが大きくなってくると、Firefox の起動に時間がかかったり、動作が緩慢になってくるということなどが考えらる。
このようなとき、データベースの最適化をすることによって、Firefox の動作を軽くするというもの
Firefox プロファイルフォルダから該当データベースを探して [Reindex] を行なう。

Firefox 3.5.2 で SQLite で管理されている情報

ブックマーク・履歴以外にも様々なデータが、SQLite データベースによって管理されている。これらのデータベースは、places.sqlite と同様にプロファイルフォルダ以下に *.sqlite という拡張子のファイルとして保存されている。

 content-prefs.sqlite - サイト毎の文字の拡大・縮小の設定を格納
 cookies.sqlite - クッキーを格納
 downloads.sqlite - ダウンロード履歴
 feedbar.sqlite
 formhistory.sqlite - フォームに入力したデータを、入力フォームの名前とセットで記録
 permissions.sqlite - 画像の読み込み許可やポップアップの制御、クッキーの例外サイトなどの設定を格納
 places.sqlite
 scribefire.sqlite
 search.sqlite - 検索エンジンの登録状況。登録されたエンジンはsearchpluginsフォルダに格納される
 signons.sqlite
 ubiquity_ann.sqlite
 ubiquity_skin_memory.sqlite
 ubiquity_suggestion_memory.sqlite
 urlclassifier3.sqlite
 webappsstore.sqlite- ウェブサイトによって設定されるセッションストレージ

これらの情報は Firefox 3 から SQLiteベースで扱われるように変更されたことで、全て共通の方法でアクセスできるようになった。

効果のほどはさておいて、早速インストールしてみた。

 
Fig-01: SQLite Optimizer - Firefox 3,5,2 Extension 
 
Fig-02: SQLite Optimizer 環境設定 

『今すぐREINDEXを実行する』を実行してみる。
作者のコメントにあるように、places と cookie の db が常時ブラウザに掴まれているようなので、この拡張では最適化できないようだ。SQLite Manager 拡張を利用した方がよいのかな?
 
 
Fig-03: SQLite Optimizer REINDEX done

SunSpider JavaScript Benchmark Test を実行してみる。


SunSpider 0.9: 特定のプラットフォームには依存せず、WebブラウザなどJavaScriptの処理系があれば実行可能。
SunSpiderのテスト内容は、3Dレイトレーシングや暗号処理、文字列処理や各種演算処理など9カテゴリ / 26項目におよぶ。テスト対象にDOMやブラウザのAPIは含まれず、3Dオブジェクトの描画など環境に依存する要素は省略されているほか、各項目とも複数回実行されエラー範囲を測定するため、JavaScript処理系の性能を正確に測定することができる。

Start Now!
 
Fig-04: SunSpider JavaScript Benchmark Results

# SunSpider JavaScript Benchmark Results
Test env: Firefisox 3.5.2 on OpenSolaris 2009.06
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 2810.8ms +/- 9.8%
--------------------------------------------
3d:                   395.2ms +/- 2.7%
    cube:               116.8ms +/- 6.6%
    morph:               94.6ms +/- 7.9%
    raytrace:           183.8ms +/- 5.3%
  access:               358.2ms +/- 2.4%
    binary-trees:        98.8ms +/- 4.4%
    fannkuch:           158.8ms +/- 1.5%
    nbody:               72.8ms +/- 4.1%
    nsieve:              27.8ms +/- 19.8%
  bitops:                93.8ms +/- 9.2%
    3bit-bits-in-byte:    3.0ms +/- 0.0%
    bits-in-byte:        18.0ms +/- 0.0%
    bitwise-and:          3.4ms +/- 20.0%
    nsieve-bits:         69.4ms +/- 11.8%
  controlflow:           92.6ms +/- 2.8%
    recursive:           92.6ms +/- 2.8%
  crypto:               155.2ms +/- 3.9%
    aes:                 88.2ms +/- 5.0%
    md5:                 42.4ms +/- 7.9%
    sha1:                24.6ms +/- 11.6%
  date:                 355.0ms +/- 18.2%
    format-tofte:       183.6ms +/- 5.0%
    format-xparb:       171.4ms +/- 34.3%
  math:                 133.6ms +/- 2.7%
    cordic:              69.8ms +/- 5.5%
    partial-sums:        47.8ms +/- 4.3%
    spectral-norm:       16.0ms +/- 14.5%
  regexp:               255.8ms +/- 63.4%
    dna:                255.8ms +/- 63.4%
  string:               971.4ms +/- 4.5%
    base64:              51.2ms +/- 51.5%
    fasta:              192.2ms +/- 3.9%
    tagcloud:           285.4ms +/- 3.7%
    unpack-code:        316.0ms +/- 3.4%
    validate-input:     126.6ms +/- 19.1%
============================================
このベンチマークテストの結果をどう評価するべきなのか、知見がないので、わからん。
後ほどお勉強してみませう。 
 

Reference:
出典: フリー百科事典『ウィキペディア(Wikipedia)』:SQLite
SQLite Home Page: http://www.sqlite.org/
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain. 
Firefox 3:places.sqliteの最適化について

0 Comments::