dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
15楼#
发布于: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就不会被删除
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
16楼#
发布于:2011-09-26 19:25
发个图
这个电脑太差……
链接了5个小时了
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
17楼#
发布于:2011-09-26 19:25
我的鏈接差不多在60~70分鐘左右
Q6600@3Ghz,但-j1
單線程...開多線會停止編譯

tete009的那個提昇
貌似這個應用很不普遍
我先要求javascript render性能就好了

那如果不打上tete009補丁
那進行pgo編譯時,只要不失敗
是否pgd文件就不會被刪除?

問在詳細一點,所謂pgd文件只的是後奏名為*.pgd的文件
還是叫做pgd的文件夾裡面所有的東西?
一次編譯還在進行中,先問個明白
怕到時候手忙腳亂

謝謝~
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
18楼#
发布于:2011-09-26 19:25
pgo必须含有pgd文件,就是扩展名为pgd的那个,否则编译会失败
你如果运行多次,会发现产生很多pgc扩展名的文件,这个就是pgo采集信息
如果pgd文件没有找到pgc那么就会禁用pgo,找到一个就应用,多个就先合并再应用

所以要注意,编译失败后重编译时他会rm *.pgd,这导致你采集的pgo信息一点儿用也没有
如果一次编译无障碍,那么他就不会执行rm操作
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
19楼#
发布于:2011-09-26 19:25
好的,謝謝

我目前一次編譯還沒結束
等待中,有問題再向您求教
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
20楼#
发布于:2011-09-26 19:25
终于链接完成了
我做个简单的测试后上传
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
21楼#
发布于:2011-09-26 19:25
我現在一次編譯已經結速
目前編譯暫停可以進行手動採集
但我在/dist/bin, /dist/firefox開啟各跑了一次sunspider 9.1
追蹤整個mozilla-release資料夾,沒有找到*.pgc *.pgd的文件
整個文件夾的大小與文件數也沒有變化

這是我的.mozconfig
. $topsrcdir/browser/config/mozconfig
#mk_add_options MOZ_PACKAGE_NSIS=1
ac_add_options --enable-application=browser
#ac_add_options --enable-profile-guided-optimization
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-installer --disable-updater --disable-update-channel
ac_add_options --disable-accessibility
#ac_add_options --enable-jemalloc
#
## optimize
#ac_add_options --enable-optimize="-O2 -GL -arch:SSE2 -GS"
#ac_add_options --enable-optimize="-O2 -GL -arch:SSE2"
ac_add_options --enable-optimize="-O2 -Ot -Ob2 -Oy -GF -GL -arch:SSE2"
#ac_add_options --enable-optimize="-O2 -Ot -Ob2 -Oy -GF -arch:SSE2"
#export MOZ_OPTIMIZE_LDFLAGS="-opt:ref,icf"
#mk_add_options MOZ_OPTIMIZE_LDFLAGS="-opt:ref,icf"
#
#
#ac_add_options --enable-update-packaging
#ac_add_options --disable-vista-sdk-requirements
#ac_add_options --disable-static
#ac_add_options --with-l10n-base=/lang
#ac_add_options --enable-ui-locale=zh-TW
#ac_add_options --enable-official-branding
#
## from tete009
#ac_add_options --disable-auto-deps
#ac_add_options --disable-jemalloc
ac_add_options --disable-crashreporter
#ac_add_options --disable-activex-scripting
#ac_add_options --disable-activex
#
#  auto PGO build
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
#mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
mk_add_options PROFILE_GEN_SCRIPT='cscript C:/Users/Lawliet/Desktop/c_Firefox/PgoMsg.vbs'
#mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
#mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_MAKE_FLAGS="-j1"


那個vbs中斷窗口的意思是採集完了,才按"Yes"
還是要先按"Yes"再採集?
如果採集過程順利,編譯窗口是否會刷新?
就像跑老版本sunspider那樣?


另外我在link的時候出現這樣的提示
對PGO編譯有影響嗎?
LINK : warning LINK4256: Profile Guided Optimization is no available of the product: ignoring related options
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
22楼#
发布于:2011-09-26 19:25
……
不是在源码目录里找哇,在你obj目录里找……
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
23楼#
发布于:2011-09-26 19:25
采集完复制到目录后
再按Yes
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
24楼#
发布于:2011-09-26 19:25
……
不是在源碼目錄裡找哇,在你obj目錄裡找……

我的obj是在/ff-pgo,這應該沒錯啊
我剛又跑了v8 benchmark,把窗口關掉又打開
還是沒有發現生成



[quote="dongyuanxun"]採集完複製到目錄後
再按Yes[/quote]
所有的pgc與pgd是否都是出現在同一個資料夾
但是放的位置卻不太一樣?
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
25楼#
发布于:2011-09-26 19:25
我剛找到另一個firefox.exe
在C:\mozilla-release\ff-pgo\browser\app
無法直接執行,看起來缺少很多lib
是否應該從vs2010那裡複製lib?
又應該複製哪個檔呢?
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
26楼#
发布于:2011-09-26 19:25
Lawliet:我剛找到另一個firefox.exe
在C:\mozilla-release\ff-pgo\browser\app
無法直接執行,看起來缺少很多lib
是否應該從vs2010那裡複製lib?
又應該複製哪個檔呢?
回到原帖

这个是编译目录的exe,不要从这里运行

我是从dist/bin运行的,采集到pgc信息后,再把pgc文件复制到相关目录,
比如firefox*.pgc就复制到obj/browser/app目录,因为该目录有firefox.pgd
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
27楼#
发布于:2011-09-26 19:25
我現在的問題是一次編譯跟二次編譯產生的binary
它們的md5是一樣的,既沒有採集到任何pgo信息

採集pgo信息,應該就是在一次編譯結束以後
開啟/obj/dist下的firefox,並進入v8, sunspider等相關網站吧?
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
28楼#
发布于:2011-09-26 19:25
恩,是的
二次编译的好像不放到dist/bin里面
我忘记了
反正最后用make package打包即可……
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
29楼#
发布于:2011-09-26 19:25
現在一次編譯結速後,進行採集過程
obj目錄內會隨著過程增加檔案
但依然找不到*.pgc *.pgd(貌似增加的檔案其實是temp)
我等等還會再編譯一次

謝謝指教
游客

返回顶部