Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject Re^2: GCC link-time optimization
Date: 2010/06/25(Fri) 13:13:24
ContributorAkio Morita

> 3081のLTOバイナリですが、正しく動いていないようです。
> どうやら、LTO時に block data構文で初期化される common blockが正しく初期化されないために、
> 各種フラグの状態(RFSW等々)が異なる状態で benchmarkが走っているようです。
>
まともに動いているように見える作業途中のRevision 3097での benchmark結果

環境は、以下の通り
Quad-Core AMD Opteron(tm) Processor 2376 (2300.11-MHz K8-class CPU)
FreeBSD/amd64 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #0: Thu Jun 17 19:30:52 JST 2010
gcc46 (GCC) 4.6.0 20100619 (experimental)
SAD amorita branch Rev.3097

with LTO(-g -O3 -fwhopr -fno-omit-frame-pointer -march=native -msse3 -mfpmath=sse -fcheck=do)
 Function         1.9295834        .005164105368   
 Optics           2.66001665       .005230880496   
 Tracking         3.27642535       .006721012802   
 Matching         .17785065        5.22699095787E-4
 Overall          .109633010342    1.66550089337E-4

without LTO(-g -O3 -fno-omit-frame-pointer -march=native -msse3 -mfpmath=sse -fcheck=do)
 Function         1.99698705       .008423391088   
 Optics           2.7984155        .006557250736   
 Tracking         2.98214475       .004432890323   
 Matching         .18719715        5.71515738606E-4
 Overall          .109711450298    2.85608472421E-4

Function/Optics/Matchingは高速化しているが、Trackingが劣化している
インライン展開等でコードのフットプリンとが肥大化しキャッシュから溢れた可能性がある。


- 関連一覧ツリー (Click ▼ to display all articles in a thread.)