パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

今度こそ、GCC 4.1正式リリース」記事へのコメント

  • Gentooな人 (スコア:2, おもしろおかしい)

    by Anonymous Coward on 2006年03月05日 13時07分 (#895210)
    Gentooでバリバリチューン(死語?)な人は燃え燃えなんだろうな~。

    #KDEでモサラーなAC
    • Re:Gentooな人 (スコア:3, 参考になる)

      by oku (4610) on 2006年03月05日 13時26分 (#895223) 日記

      バリバリチューン (死語?) の定義によりますが、一応、今のところ (今 == 2006/03/04 05:33:54) Gentoo で sys-devel/gcc-4.1.0 は masked 状態のようです (testing の更に前)。

      まあ、少なからぬ人が package.mask を書き換えるなり何なりして動かしていそうな気はしますが...

      親コメント
      • Re:Gentooな人 (スコア:2, 参考になる)

        by Phalacrocoracidae (29780) on 2006年03月05日 15時24分 (#895272)
        丁度良いタイミングで、2/27にGentoo Linux 2006.0がリリース [gentoo.org]されたので、これからやってみようという方には最適でしょう。

        ただ、前コメントのとおりgcc-4.1.0はmaskedなので、gcc-4.1.0から構築するにはpackage.mask等の書き換えが必要ですが。

        # gentooの現時点のx86 stableなgccは3.4.5です
        --
        しないさせない!スルー力
        親コメント
    • Re:Gentooな人 (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2006年03月05日 18時19分 (#895377)
      >Gentooでバリバリチューン(死語?)な人は燃え燃えなんだろうな~。

      なんと言うか週毎にビルドして追いかけていた
      Gentooer(?)にとっては別に変わりないのでは?

      # 去年年末までは追いかけてたのですが根性足りませんでした><
      親コメント
      • Re:Gentooな人 (スコア:5, 参考になる)

        by Anonymous Coward on 2006年03月05日 23時11分 (#895519)
        Gentooな人じゃないですがほぼ毎週ビルドしてます。
        今は4.1.1 prereleaseを使っていますが、linux kernelもXorg X11もFirefoxもコンパイルでき、普通に動きます。

        GNU/Linux pentium4環境でicc9(Intel cc version9)を使っていますが、

        * icc9は大きなソースファイルを-O3でコンパイルするのに非常にメモリを喰うが、gcc4はそんなに喰わない。でもgcc3時代よりは肥大化している。
        * icc9のIPO(リンク時に複数のオブジェクトファイルの垣根を超えてinline化などをする最適化)は更にメモリを喰う
        * 手元のものを幾つか比較した限り数値計算主体のものはicc9の方が速いこともあるが劇的な差があるわけではないので、gccを前提に作られたconfigure.inやソースを書き直す手間のほうが大きいかも…
        * firefoxをgcc4.1でMOZ_PROFILE_GENERATE=1, MOZ_PROFILE_USE=1としてprofile最適化をしてビルドするとicc9より体感としては速い気がする

        厳密に比較したわけではないのであくまでご参考に。

        gccはIPOではなく、profileを利用した最適化に力をいれているのではなかったかな?
        オブジェクトファイルを跨るIPOをするのならld, arも変更する必要があります(iccではxild, xiar又はxild -lib)し、Makefileでのファイル間の依存性をつかったビルドもほぼできなくなります(hoge.cを変更しただけでもhoge.cで定義されている関数を呼んでいる各所の*.oや*.aが影響をうける)。
        親コメント
        • Re:Gentooな人 (スコア:5, 参考になる)

          by Tsann (15931) on 2006年03月06日 7時20分 (#895633)
          オブジェクトファイルを跨るIPOをするのならld, arも変更する必要があります(iccではxild, xiar又はxild -lib)し、Makefileでのファイル間の依存性をつかったビルドもほぼできなくなります(hoge.cを変更しただけでもhoge.cで定義されている関数を呼んでいる各所の*.oや*.aが影響をうける)。
          ldやarは結構コンパイラ依存しますし。
          でもIPO?をするからといってMakefileの依存関係は変わりませんよ。*.cのコンパイル引数にhoge.oを渡すわけじゃありませんよね? 実際にはldが再度cc1 *.oを呼び出してるんでは、と。
          # icc9は知りませんがMIPS(IRIX)はそうやってました。

          IPOには限界がありますし、レジスタの足りないx86では手も足も出ないのでは…。逆にProfile最適化の場合、profileから分岐確率を調べてヒントを埋め込むだけでも速度的にはかなり稼げると思います。
          親コメント
        • by masashi (569) on 2006年03月06日 19時24分 (#895890) 日記
          has.x とか hlk.x を思い出しました…

          # 最近こんなネタばかりだけどID
          --
          masashi
          親コメント

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

処理中...