テテのつぶやき
Firefox & Thunderbird 私的ビルド (Win32) [ページ: 1 2 3 4 5 6 7 ... ]

RSS 1.0

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



Firefox 24.6.0の独自ビルドを更新 (PGOによる不具合を修正)

日時: 2014年6月13日 22時13分

題名のものをアップロードしました。Firefox 24.6.0 私的ビルドには、テキスト欄でBackspaceキーを押すと強制終了する場合があるという不具合がありました。

content/events/src/nsDOMKeyboardEvent.cppのnsDOMKeyboardEvent::Which()を、#pragma optimize("g", off)#pragma optimize("", on)で囲い、グローバルの最適化を無効にしたところ、不具合が治まりました。

今回のビルドから、Firefox 24.x等もVisual C++ 2013 Update 2でビルドしているのですが、ガイド付き最適化(PGO)によって不正なコードが生成されていました。


春のキャッシュミス低減キャンペーンを実施

日時: 2014年5月18日 0時29分

Firefox 29.0.1 私的ビルド 実験版2をこしらえました。CPUのキャッシュミスの低減を試みました。実験版1で試したxul.dllへのjsの統合は、今回は見送りました。

Core i5-2500K (Sandy Bridge)には、CPUのLLCミスを正確に捉えることのできる、MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS_PSというPEBSイベントがあります。これをVCのプロファイラで使えるようにするため、VSPerf_Platform_P6_arch.xmlに以下のような行を挿入しました。

<Counter _locID="counter.LLCMiss" _locAttrData="DisplayName, Description" Name="LLCMiss" Reload="10000" PerfEvtSel="0x000002D4" DisplayName="LLC Miss" Description=""/>

そして、VSPerfCmdでLLCミスの情報を収集し、生成された.vspをVCのIDEで開いて、LLCミスが頻発している箇所、且つSSEのソフトウェアプリフェッチが使えそうな場所を探しました。効果は未知数。


Firefox 29.0.1の独自ビルドと実験版をアップ

日時: 2014年5月9日 23時45分

以下の二つのビルドをアップロードしました。どちらのビルドも、最近の私的ビルドと比べると、ガイド付き最適化(PGO)を幅広く適用してみました。

  • Firefox 29.0.1 私的ビルド
  • Firefox 29.0.1 私的ビルド 実験版

最近は、mozjs.dllとxul.dllだけにPGOを適用していたのですが、久々にそれら以外のモジュールにもPGOを適用しました。また、VS2013 Update 2 RCのamd64_x86クロスのリンカは、virtual sizeが4GBを超えてもエラーを吐かなくなったので、今までメモリ消費量を抑えるためにPGOから除外していたモジュールに対しても、PGOを適用してビルドしました。

実験版では更に、JavaScript関連のライブラリをxul.dllにくっつけました。DLL間の垣根を越えて、広い範囲で最適化が行われることを期待して。

不具合を発見された場合、お知らせいただけると助かります。


VS2013 Update 2 RCで、x86とx64のFirefox独自ビルドを作って比較

日時: 2014年5月4日 23時13分

Visual Studio 2013 Update 2 RCでは、x86版のガイド付き最適化(PGO)の性能が改善されているらしいことは確認していました。しかしx64版のPGOの性能については、未だ確認したことがありませんでした。

複数のx64版Firefox独自ビルドを作り、いくつかのJavaScriptベンチマークテストを実行してみたところ、PGOを適用したビルドが最もスコアが良かったです。

以下のベンチマークテストは、Windows 7 x64、Core i5-2500KのPCで実行しました。結果の正確さを上げるため、電源プランは高パフォーマンスにし、sunspiderとkrakenはrepeatCountを30回に増やしました。Octaneは5回実行して平均を取りました。

各種Firefox 29.0 PGOビルドのベンチマークテスト結果
ブラウザ (Firefox 29.0) sunspider-1.0.2 kraken-1.1 Octane 2.0
tete009 x86 142.9ms 1238.7ms 22560.4
tete009 x64 152.2ms 1151.9ms 21123.4
公式 x86 150.9ms 1293.9ms 21757.6

x86版とx64版を比較すると、テストの種類によって得手不得手が有りそうなことが分かりました。

VC2005でx64版を試作したときは、x86版と比べてもっと悪い成績だった気がしますが、VC2013のビルドは意外と差が小さいなと思いました。

今回のx64版は-favor:blend (既定)で試作しました。-favor:AMD64や-favor:INTEL64を指定すると、また違った結果が出るのかも知れませんが、そこまでの気力は残ってませんでした(^^;


Firefox 29.0 独自ビルドを更新

日時: 2014年5月1日 18時23分

Firefox 29.0 独自ビルドにガイド付き最適化(PGO)を適用して、ビルドし直してみました。

Visual Studio 2013 Update 2 RCでPGOを適用してみたら、いくつかのJavaScriptベンチマークテストのスコアが非PGOビルドよりも上がっていました。

怪しげなブツを用意して送ったのが功を奏したのか定かではありませんが、Update 1とUpdate 2 RCとの間で、PGOの改善が行われたのかもしれません。


Firefox 28.0 独自ビルドを更新 (ポータブルモード等が動作しない不具合を修正)

日時: 2014年3月19日 23時26分

今朝アップロードしたFirefox 28.0 独自ビルドは、ポータブルモード等が動作しない不具合がありました。先ほど修正版をアップロードしました。m(_ _)m

Firefox 28.0 独自ビルドは、Visual Studio 2013 Update 1でビルドしました。ガイド付き最適化(PGO)を適用すると、いくつかのJavaScriptベンチマークテストのスコアが悪くなったため、PGOは適用しませんでした。

いくつかのJavaScriptベンチにて、PGO非適用のビルドの方がPGOを適用したビルドよりも良いスコアが出る現象について、怪しげな英語でフィードバックしました。比較用のビルドとそれらのデバッグシンボルを添付して。再びP・G・O! P・G・O!できる日を夢見てます。


各種独自ビルドをアップ

日時: 2013年10月30日 22時51分

昨夜、Firefox 25.0独自ビルドのビルドに失敗しました。今日ビルドをやり直したため、アップロードするのが遅くなりました。

dom/bindings以下をPGOから除外したら、xul.dllリンク時のlinker max vsizeが約3.7GBから約3.08GBに下がり、リンクできました。リンク時にメモリを大量に消費してビルドに失敗する問題は、今のところ最適化を緩めるくらいしか手立てが無いです。


FirefoxとThunderbirdの独自ビルドをアップ

日時: 2013年8月7日 21時46分

以下の独自ビルドをアップロードしました。

  • Firefox 23.0
  • Firefox 17.0.8
  • Earlybird 17.0.8

Firefox 23.0の一回目のビルドでは、xul.dllのリンク中にlink.exeが4GB近くものメモリを消費して、fatal error C1083: コンパイラの中間生成物 ファイルを開けませんとのエラーが発生しました。

Firefox 23.0のdom/bindings以下のソースコードをガイド付き最適化(PGO)から除外したら、link.exeの最大メモリ消費量が約3.94GBから約3.43GBに減って、ビルドできました。その代わり、DOM (Document Object Model)関連のベンチマークテストのスコアが若干低下するかもしれません。比較していないので、どの程度影響があるのか分かりませんが。

Firefox 17.0.8はリリース直前になってbuild2が登場し、ビルドをやり直す羽目になりました。ぎりぎりまで様子を見ていたつもりでしたが、つめが甘かったようです。^^;

追記 (8月8日 21時16分): 昨日アップロードしたFirefox 23.0の独自ビルドに、動画の再生時に映像が止まる不具合が見つかりました。PGOまたは-GLコンパイラオプションの不具合に当たったようです。とりあえず、PGO非適用のxul.dllに差し替えたビルドをアップロードしました。

追記 (8月9日 21時8分): Firefox 23.0 私的ビルドを更新しました。content/media/AudioStream.cppをPGOから除外したら、動画再生時に映像が停止する不具合は治まったようです。不具合をご報告くださった方々に、この場を借りてお礼申し上げます。m(_ _)m


各種独自ビルドをアップロード

日時: 2013年5月14日 6時43分

以下の独自ビルドをアップロードしました。

  • Firefox 21.0 release candidates build4 私的ビルド
  • Firefox 17.0.6 release candidates build1 私的ビルド
  • Earlybird 17.0.6 release candidates build1 私的ビルド

Firefox 21.0リリース候補build4をビルドする前に、build3をビルドしたのですが、JavaScriptベンチマークサイト等でクラッシュするビルドが出来上がりました。

ガイド付き最適化(PGO)のプロファイルデータの収集方法によって、クラッシュするビルドができたり、できなかったりしました。さらに、同一ソースコードからビルドした非PGOビルドでは、不具合は発生しませんでした。久々にVisual C++ 2005 SP1のPGOの不具合に当たったようです。

js/src/ion/x86/Trampoline-x86.cppのコンパイラオプションに-GL-を付けてPGOから除外したら、不具合は治まったようです。jsモジュールのJITコンパイラにVisual C++ 2005のPGOを適用すると、不正なコードが生成されることが時々あり、不具合を絞り込むのに手間がかかる場合があるので厄介です。

追記 (2013年5月15日): Firefox 21.0 (Win32)は、build3が正式版となったようです。build3とbuild4はビルドIDが違うくらいらしいので、うちのbuild4のビルドIDをbuild3のものに書き換えて、アップロードし直しました。


Firefox 20.0等の独自ビルドをアップロード

日時: 2013年4月3日 4時43分

以下の独自ビルドをアップロードしました。

  • Firefox 20.0
  • Firefox 17.0.5
  • Earlybird 17.0.5

Firefox 20.0の独自ビルドについては、xul.dllのリンクに失敗すること二回。mozilla21以降のように、PGOの適用を除外するモジュールを増やして、xul.dllのリンク時のメモリ使用量を減らすことで、ようやくビルドに成功しました。これぞ俗に言う三度目の正直(ぉ。


他の記事

記事検索フォーム

Google

カレンダー

前月へ | 2014年8月
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
31

最近のコメント

  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年以上新しい記事の投稿がないブログに表示されております。