パスワードを忘れた? アカウント作成
670290 journal

ttの日記: 懐かしい感覚 4

日記 by tt
某製品に向けてのプログラムのパフォーマンスチューニングが大詰め。

ほんとーにもうどうしようもなくなってきているが目標数値に後一息届かない。「コンパイルオプションをソースごとにかえる」「絶対値の小さい定数しかない配列はu_charにする」「相対ジャンプが使えるように関数の順序入れ替え」「TLBやキャッシュラインのアライメントあわせのためにオブジェクトのリンク順番を変える」などといった小手先テクニックを駆使中。

あー、ほとんど15年前とやってることが変わらんな(苦笑)。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by moriwaka (89) on 2003年07月18日 21時00分 (#361693) 日記
    昔読んだ論文で衝撃を受けたのが、
    「全てのCソースを1つのファイルにまとめて、あとはccに任す。」
    というものでした。ファイルをまたがる関数呼び出しの最適化は
    リンカの助けが欲しいところですが逆転の発想らしい(w
    • by tt (2867) on 2003年07月19日 12時18分 (#361980) 日記
      ちなみに今回はそれもやってたりします:) hogecore.c には include "hogesub.c" とかが並んでます(わら)

      iccはそんなことしなくとも似たことやってくれるんだよな~。中間言語ファイルをディスクに書き出して、そいつをマージしてコンパイルするという仕組みみたいです。マージの後にも定数伝播とかもやってます。さすがすぎます。

      iccにgccが勝ててないのはこのへんっすねえ。がんばれgcc~

      # さてgcc3.3.1は予定通り出るのだろうか。

      --
      -- Takehiro TOMINAGA // may the source be with you!
      親コメント
      • by moriwaka (89) on 2003年07月19日 13時57分 (#362012) 日記
        > iccはそんなことしなくとも似たことやってくれるんだよな~。

        うを。
        gccだとリンクステージになってしまいますが、
        中間言語段階でマージしてしまえばいいのか。かしこいなー。
        親コメント
  • by Anonymous Coward on 2003年07月19日 10時03分 (#361940)
    そこ迄して切詰めるのって、それ位しか思いつかないのだけど。
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...