テテのつぶやき 2012年8月 | 2012年9月 | 2012年10月

RSS 1.0

テテの不定期日記です。短めのつぶやきはtwitter (twilog)にて。



Firefox 15.0.1 私的ビルド実験版2をアップロード

日時: 2012年9月30日 11時20分

主な変更点を以下に挙げます。

  • box blur (ぼかし)処理のマルチスレッド化を止めました。いつの間にか、シングルスレッドでの処理とほとんど速度が同じになっていたので。しかし一部の計算をループ外で行うようにしたら、シングルスレッドでも少し処理が速くなりました。怪我の功名!?
  • OMP_NUM_THREADS環境変数を認識するようにしました。ただし、OpenMP規格のVisual C++実装では、numの既定値はハイパースレッドCPU を含む仮想プロセッサの数ですが、うちのビルドでは、プロセッサの物理コア数です。
  • SVGの二つの処理(nsSVGFETileElement::Filter、nsSVGFEColorMatrixElement::Filter)をマルチスレッド化しました。
  • qcmsの一部の処理で、高速なSIMDルーチンが使用されない不具合を修正しました。私のミスでした。^^;
  • libpixmanのDLL化を止めました。現在は、公式ビルドと同じでgkmedias.dllにくっついてます。

他にも、こまごまとしたところをいじりました。不具合を発見されましたら、お知らせいただけると助かります。


Firefox 15.0.1 私的ビルド実験版

日時: 2012年9月14日 7時20分

nsRectの丸め関数のいくつかを、SSE4.1のroundpd命令を使って高速化してみました。A Simple HTML & JavaScript MazeのFixed Seedの「Benchmark」が少し速くなったらいいなと思いましたが、速くなったとしても数パーセント程度ですし、このベンチマークは誤差が大きく出ることがあるようなので、ほとんど分かりませんでした。^^;

ついでに、modjsの某箇所でPodCopyというのを使ったら、V8ベンチマークのRegExpのスコアが上がった気がしました。

不具合を発見されましたら、お知らせいただけるとありがたいです。


Google Code版のSunSpiderで、改めてベンチマークを取ってみた

日時: 2012年9月2日 6時30分
カテゴリ: 日記

昨日実行したベンチマークテストの中で、SunSpider 0.9.1の結果は、いまいち正確では無かったかもしれません。改めてSunSpiderのベンチマークをやり直してみると、結果が大きく変わることがありました。

安定したベンチマーク結果を得たいと思い、Windowsの電源プランを「高パフォーマンス」にしたり、FirefoxのプロファイルをRAMDiskに置いたり、他のソフトをなるべく起動しないように心掛けたり、ベンチマークを3回取って平均値を出したりしたのですが……。

「Google版を使ったほうがいいのでは」というご助言を頂き、改めてGoogle Code版のSunSpider 0.9.1でベンチマークを取ってみました (Windows 7 x64、Core i5-2500K、メモリ16GB)。

SunSpider 0.9.1 MOD JavaScript Benchmark (New Scoring Method) (3回の平均値、単位=ms、数値が小さいほど良い)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
Total 112.8 106.0 96.1
3d 14.6 11.5 10.2
cube 3.3 3.3 2.8
morph 4.3 4.1 4.4
raytrace 6.9 4.2 3.0
access 10.2 10.1 8.1
binary-trees 1.3 1.3 0.7
fannkuch 4.0 4.0 3.7
nbody 2.0 2.0 2.4
nsieve 2.9 2.9 1.3
bitops 7.4 7.2 8.1
3bit-bits-in-byte 0.4 0.4 0.5
bits-in-byte 2.2 2.2 3.0
bitwise-and 2.4 2.3 2.2
nsieve-bits 2.4 2.3 2.5
controlflow 1.4 1.3 1.3
recursive 1.4 1.3 1.3
crypto 3.7 3.6 5.2
aes 2.3 2.2 2.1
md5 0.8 0.8 1.4
sha1 0.6 0.6 1.7
date 14.1 15.3 9.2
format-tofte 8.5 9.4 5.0
format-xparb 5.6 5.9 4.3
math 15.5 9.3 8.3
cordic 2.0 2.0 1.5
partial-sums 12.2 6.0 5.6
spectral-norm 1.4 1.3 1.2
regexp 9.7 9.4 5.7
dna 9.7 9.4 5.7
string 36.3 38.2 39.8
base64 2.6 2.5 1.7
fasta 3.9 3.9 5.0
tagcloud 12.3 13.8 9.5
unpack-code 13.0 13.6 16.0
validate-input 4.4 4.4 7.5

Firefox 15.0、自分の独自ビルド、Chromeで各種ベンチマークを実行してみた

日時: 2012年9月1日 18時36分
カテゴリ: 日記

Firefox 15.0 公式ビルドと自分の独自ビルド、ついでにGoogle Chrome 21.0で、いくつかのベンチマークテストを実行してみました (Windows 7 x64、Core i5-2500K、メモリ16GB)。

公式Firefoxでは久々に、JavaScriptのモジュールにガイド付き最適化(PGO)が適用されるようになりました。うちのビルドも5、6年前から、JavaScriptモジュールに手動でPGOを適用してます。

結論から言うと、公式Firefoxより自分の独自ビルドの方が、全体的にベンチマークのスコアが少し良いようです。Chromeは、JavaScriptベンチマークのスコアは高いものが多いです (SunSpiderはあまり差が付きませんでした)。

追記 (9月2日 7時7分): オリジナルのSunSpiderのベンチマーク結果が、いまいち信用できない気がするため、Google Code版のSunSpiderで、改めてベンチマークを取ってみました

V8ベンチマークでは、Chromeが非常に高いスコアを出しています。このベンチマークを用いて、ChromeのJavaScriptエンジンが最適化されてきたという話も、うなずける結果であります。「Splay」だけは、何故かスコアが低かったですが。

V8 Benchmark Suite - version 7 (10回平均、数値が大きいほど良い)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
Score 9902.2 10377.6 15293.8
Richards 13019.4 13092.4 16268.3
DeltaBlue 12164.5 12729.7 20437.1
Crypto 19248.7 19256.4 19490.9
RayTrace 4614.6 5082.3 21988.4
EarleyBoyer 11892.3 12346.0 35774.0
RegExp 2067.2 2414.4 4402.8
Splay 14768.7 15330.8 5896.7
NavierStokes 18252.1 18217.3 22619.3

SunSpiderでは、各ブラウザ間のスコアに、思ったほど差が付かなかった気がします。

SunSpider 0.9.1 JavaScript Benchmark (3回平均、単位=ms、数値が小さいほど良い)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
Total 159.5 143.6 153.3
3d 28.7 23.7 23.8
cube 10.3 9.6 7.4
morph 5.9 5.1 7.3
raytrace 12.5 9.0 9.1
access 15.7 13.4 13.4
binary-trees 2.5 1.9 1.4
fannkuch 6.0 5.3 6.3
nbody 3.4 2.9 3.4
nsieve 3.8 3.3 2.2
bitops 9.2 8.7 12.3
3bit-bits-in-byte 0.7 0.7 1.0
bits-in-byte 2.7 2.8 3.8
bitwise-and 2.7 2.6 2.7
nsieve-bits 3.0 2.6 4.9
controlflow 1.9 1.5 1.8
recursive 1.9 1.5 1.8
crypto 15.8 14.9 14.0
aes 7.4 7.0 5.4
md5 5.2 5.1 4.1
sha1 3.2 2.8 4.5
date 18.3 18.8 12.9
format-tofte 10.6 11.1 7.1
format-xparb 7.6 7.7 5.9
math 19.6 11.7 12.4
cordic 2.8 2.5 2.4
partial-sums 13.9 6.8 7.3
spectral-norm 2.9 2.5 2.7
regexp 9.3 9.5 6.6
dna 9.3 9.5 6.6
string 40.9 41.4 56.2
base64 4.1 3.5 3.6
fasta 5.6 4.7 7.9
tagcloud 11.7 13.5 15.7
unpack-code 13.7 14.2 20.5
validate-input 5.9 5.5 8.4

Mozilla謹製のKrakenですが、トータルではChromeが良いスコアを出しました。個々の項目を見ると、FirefoxとChromeで得意・苦手な処理が違っていることがあります。

Kraken JavaScript Benchmark (version 1.1) (3回平均、単位=ms、数値が小さいほど良い)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
Total 2330.7 2251.1 1906.3
ai 77.5 78.1 155.9
astar 77.5 78.1 155.9
audio 780.6 749.9 630.5
beat-detection 246.3 220.2 178.1
dft 209.4 211.1 222.5
fft 169.5 165.1 121.2
oscillator 155.4 153.5 108.6
imaging 883.8 878.8 465.4
gaussian-blur 482.6 483.5 190.2
darkroom 245.8 238.7 135.4
desaturate 155.4 156.6 139.9
json 115.9 103.9 126.7
parse-financial 64.1 59.6 76.4
stringify-tinderbox 51.8 44.3 50.4
stanford 472.9 440.4 527.7
crypto-aes 102.9 103.1 134.3
crypto-ccm 81.0 76.8 133.9
crypto-pbkdf2 210.2 188.2 171.6
crypto-sha256-iterative 78.8 72.3 87.9

Peacekeeperでは、公式Firefoxと自分のビルドとで、かなり大きなスコアの差が出ました。Chromeはそれよりずっと高いスコアでしたが。

Peacekeeper - free universal browser test for HTML5 from Futuremark (数値が大きいほど良い)
Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
2407 3018 4271

TaskSpeedは、各種JavaScriptライブラリを利用したベンチマークのようです。Chromeが非常に良いスコアを出してます。

TaskSpeed - Library Task Test Suite (3回平均、単位=ms、数値が小さいほど良い)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
PureDom 82.0 69.7 32.3
jQuery 1.3.2 393.0 335.0 293.0
jQuery 1.4.1 223.7 194.0 165.0
Prototype 1.6.0.3 286.3 249.7 130.7
MooTools 1.2.2 224.0 198.7 75.3
qooxdoo 0.8.2 119.7 104.3 22.7
Dojo 1.4.1 145.3 125.0 17.7
Dojo 1.5.0 143.3 125.7 21.3
YUI 2.7.0 203.0 168.3 85.7

A Simple HTML & JavaScript Mazeでは、JavaScript内で処理を行っている時間にはさほど大きな差は無さそうですが、それ以外の処理で大きな差が出てしまっているようです。Chromeは非常に高速に描画しますが、Firefoxはもっさり。Firefoxのウィンドウを他のウィンドウで隠すとスコアがアップするので、描画処理がボトルネックになっているのかも。

A Simple HTML & JavaScript Maze - No Table (3回平均、単位=ms)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
in JavaScript 361.0 273.7 263.0
not in JavaScript 55221.3 44891.3 6919.3
total time 55582.3 45165.0 7182.3
tiles per second 223.86 271.25 1705.02

HTML5 Game Benchmark Testでは、Firefoxの方がChromeよりも少しスコアが上でした。ほう…。

HTML5 Game Benchmark Test / 4Gamer.net (2回平均、数値が大きいほど良い)
Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
13425.5 14235.0 11879.0

Bugzillaで見つけた、canvasのgetImageData()とputImageData()のベンチマーク。自分の独自ビルドには、SSSE3やマルチスレッドを使った独自パッチを適用してます。気になったのは、Chromeのputのスコアが、alpha値が255固定の時より、alpha値がランダムの時の方がずっと良くなる点。何故なの…。

get and put ImageData benchmarks [Bug 519400] (5回平均、単位=ms、数値が小さいほど良い)
ベンチマーク項目 Mozilla Firefox 15.0 Firefox 15.0 tete009 Google Chrome 21.0
alpha=255 put took 379.6 280.6 275.0
alpha=255 get took 198.2 150.4 353.2
Random alpha put took 391.0 280.2 131.8
Random alpha get took 211.6 143.8 346.8

他の記事

記事検索フォーム

Google

カレンダー

前月へ | 2012年9月 | 次月へ
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

最近のコメント

  1. QUAD-CAPTUREのUSBケーブルの接続先PCを変えて、RMAAを実行してみた
    • テテ [2014-08-23]
    • アイヴァーン [2014-08-23]
    • テテ [2014-08-21]
    • アイヴァーン [2014-08-21]
  2. CalibrizeをWindows 7で使用する方法
    • テテ [2013-12-24]
    • 検索してたどり着きました [2013-12-24]
    • テテ [2013-08-01]
    • 初心者 [2013-08-01]
    • テテ [2012-05-08]
    • 通りすがり [2012-05-08]
  3. Roland QUAD-CAPTURE UA-55がキタ
    • 友友狗部落格 [2012-12-05]
  4. Firefox 16.0.1とEarlybird 16.0.1 私的ビルドをアップ (CanvasのputImageDataを高速化)
    • テテ [2012-11-23]
    • [2012-11-23]
  5. 人体感知センサーを組み立てた
    • ケンタ [2012-10-05]
    • テテ [2012-10-04]
    • ケンタ [2012-10-04]

過去ログ


広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。