ページ内ジャンプ:

アレゲなニュースと雑談サイト

soaraによる 2009年04月25日 12時15分の掲載
更に磨きをかけました部門より。

hylom 曰く、

4月21日、GCC 4.4.0がリリースされた(マイコミジャーナル記事)。GCC 4.4.0での変更点や新機能、バグフィックスなどはChanges, New Features, and Fixesに挙げられている。

個人的に気になるのがGraphiteブランチの取り込みによる最適化の強化。コード中の多重ループの個所において、ループの順序を入れ替えることによってメモリアクセスの高速化などが期待できるようだ。また、GCC 4.2からOpenMPがサポートされているが、4.4.0からは最新のOpenMP 3.0が新たにサポートされるようになっている。

ポーティングガイドによると、プリプロセッサの条件評価も常に行われるように修正されたとのこと。

表示オプション しきい値:
  • 教育者泣かせ (スコア:3, おもしろおかしい)

    Anonymous Coward : 2009年04月25日 13時27分 (#1555071)

    > コード中の多重ループの個所において、ループの順序を入れ替える
    > ことによってメモリアクセスの高速化などが期待できるようだ。

    「ね、こういう順序でアクセスするようにコード書かなきゃ遅くなるでしょ」
    っていう実例見せて授業してる私の立場は?

    • Re:教育者泣かせ (スコア:4, おもしろおかしい)

      Anonymous Coward : 2009年04月25日 13時34分 (#1555076)
      最適化オプションをOFFにして授業を続けてください。

      そして、授業の最後に最適化オプションの指定で自動でやってくれる事を伝え、
      一言、「昔は、よかった。」といえばOKです。
    • Anonymous Coward : 2009年04月25日 18時21分 (#1555193)
      その昔。
      まだ大学にsunosが山のようにあったころ。
      課題をだしたら一部の人がlinux1.0やpanix(NEC PC98で動くUNIX)でgccで-Oしてきたのですが、運悪く-Oのバグに遭遇したようで他の人と実行結果が異なるレポートをだしてきた人が何名かいました。
      アセンブリレベルで「私はこうやったからこうなった。コンパイラのバグだ」ってレポートに記載した強者が一人いました。
      彼は6809の機械語を話せる強者でした。

      教育現場なんですから、コンパイラが頑張ったのなら「なぜコンパイラはこんなに頑張って最適化ができるのか」を考えさせ、逆にコンパイラがタコなら「なぜコンパイラはこんなにタコなのか」を考えさせればよいのではないでしょうか。
      まぁその水準に達する学生さんがどのくらいいるかは......
    • Anonymous Coward : 2009年04月25日 13時39分 (#1555079)
      どのバージョンの GCC だか忘れたけど、ARM プロセッサターゲットのバイナリ生成で、メモリアクセスの低速化をしていたな。
      レジスタ割り付けを重視しすぎて、アドレスを増やしながらアクセスすれば良いものを、むちゃくちゃな順でアクセスして、バースト転送、キャッシュラインフィルの特性を台無しにしていた。少しは改善されたのかな。
    • 1個のコメント が現在のしきい値以下です。