タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

compilerに関するeagletmtのブックマーク (2)

  • アセンブラコードで見るC++ Composer XEの強力な最適化機能 | OSDN Magazine

    インテル C++ Composer XEには、強力な最適化機能を備えるコンパイラが含まれている。インテルCPUが備えるSSEやAVXといった機能を効率的に利用するコードや、マルチコアによる並列処理を行うコードを自動的に生成できるのが特徴だ。記事ではインテル C++ Composer XEが持つさまざまな最適化機能を紹介するとともに、コンパイラが出力するアセンブラコードをチェックしてその効果を探っていく。 無視できないコンパイラの最適化機能、アプリケーションによっては数十パーセントものパフォーマンス向上も 近年のCPUの進化に伴い、コンパイラの最適化機能が注目されるようになってきた。パイプライン化やキャッシュの大容量化、分岐予測や投機的な実行といった機能の採用など、CPUの内部アーキテクチャは進化を続けている。そのため、コンパイラにはCPUのリソースを効率良く利用できるバイナリコードを生成

  • コンパイラの実装言語にあると良い機能 - ブートストラッピングでコンパイラを作る日記

    構造体とか配列とかどんな言語にも大体あるものは除きます。あくまで私の主観です。 lex/yacc/gperfなどのツール 特にyaccがないと複雑な言語のパースは大変。 バリアント 構文木の表現に一番適していると思う。 パターンマッチ コンパイラ内部はパターンマッチだらけ。 テーブルジャンプを用いた高速な実装ならなおよし。 ハッシュテーブル 名前の管理。必須。 バイナリ処理 バイナリファイル触るならもちろん。 ビットベクトル・ビット行列 フロー解析で必須。フロー解析に基づく最適化をするなら。 高速な集合演算があると良い。 SetやDisjoint Setなどのコンテナ 最適化の実装で使う。Disjoint Setはエイリアス解析で主に使う。もしやるなら。 グラフ 主にフローグラフ。値グラフでも使ったりする。 フローグラフはまばらなので基的にAdjacency List表現。 Predec

    コンパイラの実装言語にあると良い機能 - ブートストラッピングでコンパイラを作る日記
  • 1