オルタナティブ・ブログ > 少しでもパラノイアになってみる >

知的好奇心を満たすために、いろいろなことにチャレンジする

Windows PowerShellを使って5大ブラウザのJavascriptベンチを自動で測定してみる

»

私は定期的にブラウザのJavascriptベンチを取っているのですが、それには相当な時間がかかっています。理由は、測定対象にするブラウザ(最新バージョンと取得できるbeta/alpha版)とJavascriptベンチ(5つ)が少なくないためです。

例えば、Firefox 3.6が出たためJavascriptベンチをにとりましたが、作業的には土曜日の朝から行って15時ぐらいまでかかりました。この作業はとてつもなく面白くない作業で、自動化を行いたいとずっと考えていました。

このような作業の自動化にはいくつかあるようですが、Windows 7についてくるWindows PowerShellで実現してみました。以下にその手順を記載します。

まず、Firefox、Opera、Safari、Chromeのインストールを行ってください。

次に、ソース置き場からautojavascriptbenchmark.zipをダウンロードして解凍してください。autojavascriptbenchmark.ps1のファイルが出来上がります。

次に、環境変数を設定します(うまくフルパスを指定しても動かない)。環境変数の設定方法は、コントロールパネル→システム→システムの詳細設定→環境変数でウインドを起動させます。次に、システム環境変数(S)の"PATH"を選択して、"編集"ボタンをクリックしまう。

末尾に、32bitならば";C:\Program Files\Opera;C:\Users\ユーザ名\AppData\Local\Google\Chrome\Application;C:\Program Files\Safari"、64bitならば"C:\Program Files (x86)\Opera;C:\Users\ユーザ名\AppData\Local\Google\Chrome\Application;C:\Program Files (x86)\Safari"1を加えてください(%USERNAME%がうまく動かなかった...なぜ?)。変更後は、OKボタンを押して、終了してください。

次にSafariとIEに小細工を行います。

Safariを起動させて、Altキーを押してメニューを出します。編集の設定を選択してください。詳細タブをクリックして、"Tabキーを押したときにWebページ上の各項目を強調表示"にチェックを入れてください。

IEは、Javascriptのタイムアウト値を伸ばさないといけません。方法は"IEのJavaScriptのタイムアウトを一時的にのばす方法"を参照してください。

今度はWindows PowerShellを起動します。スタート→アクセサリ→Windows PowerShell→Windows PowerShell ISEを選択してください。次に、先ほどの解凍したファイルをopenしてください。

次に下のコンソールに"set-executionpolicy -scope process -executionpolicy RemoteSigned"を貼って実行してください。

"実行ポリシーを変更しますか?"と聞いてくるので、ここは"はい"をクリックしてください。

次にようやくメニューにある緑色の矢印ボタンをクリックしてください。これでスタートします。この後は、IE→Firefox→Opera→Chrome→Safariの順番に起動してJavascriptベンチを行います。1時間程度で終わりました。ついでにIEはDromaeoを、OperaはPeacekeeperを行わないようにコメントアウトしています(失敗したため)。

実行すると以下の様にブラウザが勝手に起動してベンチを行ってくれます(IEにマウスをあわせた画面)。

まだ、各ブラウザのベータ版を実行する方法を確立できていませんが、Windows PowerSHellを使って5大ブラウザの正式版ならば自動で測定できるようになりました。

後、各ベンチマークの実行後にStart-Sleepを入れていますが、それは測定が重ならないためです。CPU:Phenom II X4 940(3.0GHz)のPCを測定しているため、他のCPUの場合はこれを伸ばさないといけないかも知れません。

Comment(0)