- PR -

クロスコンパイラとはどのようなものか

投稿者投稿内容
xvi30ss
常連さん
会議室デビュー日: 2004/11/22
投稿数: 48
お住まい・勤務地: 栃木県
投稿日時: 2006-08-20 18:32
こんにちは。

ちょっとだけ蛇足。

今時のスーパースカラーなCPUだと投機実行や深いパイプライン、広いキャッシュ等高速化のハードウェアがインプリメントされています。
これらを全て熟知してアセンブラのコードかける人間は、非常にまれだと考えます。また、この様なコードを書いた場合には、他人はおろか自分自身も理解不能になる可能性が高いです。

僕が見たある種のCPUでCコンパイラがはき出したコードは、サブルーチンから戻る命令のレイテンシが大きいために順序を入れ替えてパイプラインに入るだけ命令を後書きしています。

こんなコードを人間が書こうと思えば書けますが・・・ ただでさえ見にくい、理解しづらいアセンブラでこの手のハンドオプティマイズでプログラムを書くのは、スパゲッティ化を増幅しているように考えています。

アセンブラで書くよりも賢いコンパイラに任せた方が速く効率的なコードが生成される時代なのだなと感じています。

_________________
ではでは。(^^/ 利休タヌキのxvi30ss

スキルアップ/キャリアアップ(JOB@IT)