2008年5月27日火曜日

Safariのプラグインを導入していくと重くなるorならない?

最近、とてもありがたい事に、Safariを快適にしてくれるプラグインが増えてきましたね!

一方で、プラグインを導入していくとSafariのウリである「軽さ」が失われるんじゃないか!?という潜在的な不安もあります。幸いにして、これまで「重くなった」と感じた事はありませんけど...。

でも実際のところはどうなんだろう!?と、自分の中のモヤモヤをスッキリさせるために軽く実験してみました。今回の実験目的は、普段使っているSafariが、真っ新な状態と比較して「重く」なったりしていないか?というヘルスチェックです。

まずは、私のハードウェア、ソフトウェア環境を簡単に紹介します。
  • CPU:Intel Core 2 Duo 2GHz
  • Memory:4GB(増設済み)
  • OS:Mac OS X 10.5.2
  • Browser:Safari 3.1.1(5525.18)
続いて、私が利用しているSafariのプラグインリストはこちらです。
それでは実験開始!

① JavaScriptのパフォーマンス比較
正直、Safariの各種プラグインがJavaScriptの実行速度に影響するとは思っていなかったのですが、一応、影響が無い事を確認する意味で「Javascript speed tests」を測定してみました。


↑「プラグイン無し」での実行結果



↑「プラグイン有り」での実行結果


ご覧の通り、誤差程度の違いしかありませんでした。私が利用しているプラグインは、JavaScriptの実行速度に影響を与えていない事が分かりました。


② メモリ使用量の比較
続いて、Safariのメモリ使用量を比較してみました。

メモリ使用量(RSIZE=実メモリ上のサイズ)の測定は、新しいタブを開く→普段よく利用しているブログ、ニュースなどのWebページを開くという一連の操作を合計10回行い、それぞれのメモリ使用量を取得していきました。といっても、値(RSIZE)は絶えず変化しているので、ページ読み込み完了後、ある程度安定したタイミングでメモしていきました。(傾向が分かればいいな〜という程度の精度ですw)


↑x軸がタブ数、y軸がSafariのメモリ使用量(MB)です。
手前が「プラグイン無し」、奥が「プラグイン有り」です。


このグラフの通り、プラグインを導入するとメモリ使用量が増える事が分かりました。ココが一番の収穫だったのですが、今回の実験では、1タブ当たり約1MB弱しか増えていない事が分かりました。


③ 起動時間の比較(追加:5/28)
そもそも起動時間はどうやって測定するのか?という問題があるのですが、ここではSafariを起動した時刻とホームページにアクセスがあった時刻の差分という事にしました。

Safariは「open」コマンドから起動しました。また、軽く実験したみた結果、測定には「ミリ秒」単位が必要だったので、タイムスタンプとして、Rubyの「Time.now.to_f」を利用しました。アクセスがあった時刻も、Rubyで作ったシンプルなHTTPサーバを用意して、リクエストがあった時に「Time.now.to_f」を取得しました。

それぞれ3回データを取得したので、表にまとめてみました。


プラグイン無しプラグイン有り
1回目1.031.33
2回目1.081.38
3回目1.201.35
平均1.101.35
↑単位は「秒」です。


私の環境では、プラグインを導入すると、平均して「0.25秒」起動が遅くなっている事が分かりました。ちなみに、何回も実験していると、この「0.25秒」は体感速度として「ちょっと遅いかも...?」と感じられます。ただ、私の場合、Safariを起動しっぱなしで利用しているので、今のところ全く気にする必要の無いレベルだと思っています。



以上、簡単ですけど実験終わりです。(他に調べるべき/面白い指標はありますか?)→ 「③ 起動時間の比較」を追加しました。

私の環境下での結論ですが、Safariのプラグインを導入しても「重くならなかった」です。実際には、少しメモリ使用量が増え、起動時間も若干遅くなりますが、得られるメリットと比較すると安いものです。という訳で、これからも安心してSafariライフを送る事ができそうです!

4 件のコメント:

griffin-stewie さんのコメント...

ちょうど僕も気になっていた内容でした。

思っていたほどメモリを喰わないんですね。
新しい発見です。

この間プラグインのテストをしていたときに気づいたのですが、プラグイン”なし”と”あり”ではSafariの起動時間が結構違ってました。
僕の使い方の場合Safariは常に起動しっぱなしなので特に気になりませんが、頻繁に起動・終了を繰り返すような使い方をした場合は結構気になるかもしれません。

erpalacion さんのコメント...

コメントありがとうございます!

確かに起動時間は、プラグインのロードがあるので変わりそうですね!私の使い方も、Safariは起動しっぱなし...。だから考えていませんでした。

さて、気になったので起動時間をちょっと測定してみました。ストップウォッチを片手に...ではなくて、ホームページをローカルのHTTPサーバ上のファイルに指定して、起動した時間(openコマンド)からアクセスログの時間を引き算してみました。

プラグイン無し:1秒(時々2秒)
プラグイン有り:2秒

という結果でした。ミリ秒単位で測定しないと分かりませんね、これは。でも1秒くらいなら許容範囲という事で自分の中では調査終了という事になりましたw

erpalacion さんのコメント...

折角なので、「ミリ秒」単位で測定してみました。→本文に「③ 起動時間の比較」を追加しました。

griffin-stewie さんのコメント...

詳細なテスト結果ありがとうございます。

僕の環境でも体感速度のみの測定ですが気持ち引っかかるかな?って言う程度でした。
拡張の仕組みや言語が違うので単純に比較するのは不公平とは思いますが、Firefoxの拡張よりもブラウザ本体の動作に影響が出ないかな?という感じですね。