45楼#
发布于:2011-09-26 19:25
好的,謝謝
我目前一次編譯還沒結束 等待中,有問題再向您求教 |
|
46楼#
发布于:2011-09-26 19:25
pgo必须含有pgd文件,就是扩展名为pgd的那个,否则编译会失败
你如果运行多次,会发现产生很多pgc扩展名的文件,这个就是pgo采集信息 如果pgd文件没有找到pgc那么就会禁用pgo,找到一个就应用,多个就先合并再应用 所以要注意,编译失败后重编译时他会rm *.pgd,这导致你采集的pgo信息一点儿用也没有 如果一次编译无障碍,那么他就不会执行rm操作 |
|
47楼#
发布于:2011-09-26 19:25
我的鏈接差不多在60~70分鐘左右
Q6600@3Ghz,但-j1 單線程...開多線會停止編譯 tete009的那個提昇 貌似這個應用很不普遍 我先要求javascript render性能就好了 那如果不打上tete009補丁 那進行pgo編譯時,只要不失敗 是否pgd文件就不會被刪除? 問在詳細一點,所謂pgd文件只的是後奏名為*.pgd的文件 還是叫做pgd的文件夾裡面所有的東西? 一次編譯還在進行中,先問個明白 怕到時候手忙腳亂 謝謝~ |
|
48楼#
发布于:2011-09-26 19:25
发个图
这个电脑太差…… 链接了5个小时了 |
|
49楼#
发布于:2011-09-26 19:25
我看了下FF7已经集成了2010 jemalloc的更改,这个不用打
tete009把一些操作使用intrin函数替代了,这部分可以提高某些性能 最好的例子是 http://ie.microsoft.com/testdrive/Perfo ... ingImages/ 选择Large IE Logo tete的帧数最高 不过中间可能遇到一些编译上的问题,这是因为tete用的是2005,你如果用2008或者2010,代码方面有些不兼容,那么要在他的intrin函数前包含intrin.h,把他自带的声明去掉,否则无法编译通过。 另外,我刚刚编译过程里发现,FF7的build过程似乎发生了更改,他在rebuild时会删除pgd文件,而这种情况在FF6时不会发生,所以使用tete009补丁编译失败时,更改后要保存所有目录的pgd文件到一个其他目录里,在pgo合并之前把pgd复制到相关文件夹,否则pgo信息会读取pgd失败…… 如果你能一次编译通过,那么pgd就不会被删除 |
|
50楼#
发布于:2011-09-26 19:25
編譯前再請教一下
tete009的那噱補丁,跟您wiki上的那個添加jemalloc 這些會提高性能嗎? |
|
51楼#
发布于:2011-09-26 19:25
pgo信息即pgc扩展名的那些
pgc一般要放到pgd一起的地方 比如 firefox?.pgc就放到firefox.pgd的目录里 其他信息以此类推 所以你用dist/bin或者dist/firefox都是一样的 |
|
52楼#
发布于:2011-09-26 19:25
我剛剛用舊版本sunspider測試
也就是自動開窗運行腳本 我追蹤了那個自動開啟的firefox窗口 目錄是在/dist/firefox/firefox.exe 請問如果是因為bug因素影響 想請問我應該從哪裡提取pgo採集的信息? 又應該將這些信息複製到哪一個目錄內? 謝謝! |
|
53楼#
发布于:2011-09-26 19:25
应该是/dist/bin
奇怪,你看看历史记录,pgo信息是否进行合并了 有时pgomerge会有这样的bug,你可能需要把采集到的pgo信息复制到各个文件的编译obj目录里去 我过一会儿开始编译FF7,暂时先用的tete009的 |
|
54楼#
发布于:2011-09-26 19:25
請問一次編譯後,手動開啟調教的那個firefox究竟是哪個目錄的才對?
在@TOPSRCDIR@/dist/bin跟@TOPSRCDIR@/dist/chrome裡面都有firefox 也都可以執行 我開啟@TOPSRCDIR@/dist/bin裡頭的firefox進行手動調教 編譯完後,調教的項目似乎沒有任何性能提昇(至少分數上看不出來) 與您的自編譯版有顯著的差距 請問我還有什麼地方沒有做到? 謝謝 |
|
55楼#
发布于:2011-09-26 19:25
謝謝指教
在linux上可以自行編寫腳本,暫停老版本sunspider測試 運行自己想要的測試 .mozconfig裡PGO的地方修改為 mk_add_options PROFILE_GEN_SCRIPT="sh /home/lawliet/run-firefox.sh" 然後新增腳本,內容為 export NO_EM_RESTART=1 mkdir $OBJDIR/_profileprofile $OBJDIR/dist/bin/firefox -no-remote -profile $OBJDIR/_profileprofile 我在linux下編譯的firefox已經應用您的betterpgo 晚一點繼續折騰win平台的betterpgo |
|
56楼#
发布于:2011-09-26 19:25
其实改interval的那个是我在FF5编译时采用的方法,这个好处是能够自动化编译,缺点就是测试不均衡,有的跑完还有一大堆时间,有的时间到了还没跑完,而且不要修改source code的,要改obj文件夹的pgo部分,因为他原来有个复制操作,我不知道在哪个makefile.in里体现的,没去认真找。所以我编译6的时候就使用vbs强制中断,然后自行运行测试了。
体积变大的话增加链接消去开关试试,即加入 export MOZ_OPTIMIZE_LDFLAGS="-opt:ref,icf" mk_add_options MOZ_OPTIMIZE_LDFLAGS="-opt:ref,icf" 一般不会变得太大 |
|
57楼#
发布于:2011-09-26 19:25
libjpeg-turbo可以加速linux上圖檔的渲染
貌似在windows下是不起作用的 這是AUR上的Firefox-PGO 我的linux自編譯版就是基於這個套件的patch及它最初的.mozconfig https://aur.archlinux.org/packages.php?ID=22296 http://libjpeg-turbo.virtualgl.org/ https://bbs.archlinux.org/viewtopic.php?id=73422&p=1 另外再請教下幾個問題 我用您的betterpgo編譯成功 但性能貌似只有小幅提昇(或心理作用?) sunspider成績持平 V8 benchmark及Kraken小幅度提昇 但依然不及您的6.0.2版的性能 性能提昇不顯著,體積反而卻增加了不少 http://www.4shared.com/file/k6s_XUGG/fi ... -sse2.html? 第一次編譯結束後彈出窗口 貌似我的批次編寫錯誤 並沒有進行自動測試我所安排的三個測試 後來這三個測試,我是在緊張的情況下手動進行 三個測試均被中段一次,但後來還是有完整跑完測試一次 是否改用您編寫的這個腳本 在進行一次編譯 就可在獲得性能提昇? http://code.google.com/p/pcxfirefox/sou ... Fbetterpgo 謝謝! |
|
58楼#
发布于:2011-09-26 19:25
因为gcc的lto有sse2的bug嘛,所以一般加入-msse2就行了,其他情形具体情况具体分析。
不知道你说的libjpeg-turbo patch是什么,能提供吗? interval那个建议改个较大的数,3000就是3s,跑比较长的测试我估计15s都跑不完…… ps:FF7已经在FTP上了,我会等tete009编译完再进行编译,这样我容易比对 |
|
59楼#
发布于:2011-09-26 19:25
Re: VC2010編譯Firefox 7.0 PGO卡在二次編譯
不知道是sorce code的問題還是gcc的問題我在Firefox 4以前用的參數是比較高的 但後來不知道怎麼搞的-march=i686會報錯 改成-march=core2就又正常,有幾個開關 -O3 -Ofast時好時壞,有的時候編譯會error 有的時候又可以過,但亦有時性能反而下降 反而打libjpeg-turbo patch,顯著提昇render性能 提速的感覺還比較明顯 我接著要來編譯您的betterpgo提速方法 http://code.google.com/p/pcxfirefox/wiki/firefox5VC2010 我將原本的老版本的sunspider去掉 添加了以下 <head> <meta http-equiv="refresh" content="0;url=https://krakenbenchmark.mozilla.org/kraken-1.1/driver.html" /> </head> <head> <meta http-equiv="refresh" content="0;url= http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html" /> </head> <head> <meta http-equiv="refresh" content="0;url=http://v8.googlecode.com/svn/data/benchmarks/v6/run.html" /> </head> 目前還沒有編譯 我對於ff-src/build/pgo/index.html內容有些疑問 看了其他帖,您有提高關於延遲時間 請問這個延遲時間是這個部分嗎? var list = 紅色的部份預設是3000; // 15000 我的理解是3秒間隔,跟每個減隔最常有15秒可供測試 不知我的理解是否正確? |
|