【エンジニア】コンパイル言語間で実行速度に差が出る理由ってなに?




1: 名無しの民 2020/06/16(火) 14:05:22.097 ID:sZukYf290
インタプリタ言語ならともかく機械語に変換した後で実行速度に差が出る理由がわからん
天才エンジニアの皆さん教えてください

2: 名無しの民 2020/06/16(火) 14:05:58.546 ID:8miRt9glM
同じだよ

 

3: 名無しの民 2020/06/16(火) 14:07:21.836 ID:HW6PMVza0
おまえには無理

 

17: 名無しの民 2020/06/16(火) 14:27:35.078 ID:sZukYf290
>>3
皆さん参考になりましたがこの方にベストアンサーをあげたいと思います!

 

4: 名無しの民 2020/06/16(火) 14:08:00.019 ID:gLhWl/YK0
Google翻訳とエキサイト翻訳の翻訳精度の差みたいなもん

 

5: 名無しの民 2020/06/16(火) 14:08:46.895 ID:rGOGdTfWp
機械語翻訳の差

 

6: 名無しの民 2020/06/16(火) 14:09:11.908 ID:8miRt9glM
LLVM使ったら同じなんかな

 

7: 名無しの民 2020/06/16(火) 14:09:28.037 ID:+ymwazT/0
最適化とか
実行速度優先かコードサイズ優先か

 

8: 名無しの民 2020/06/16(火) 14:11:43.760 ID:PSMZbksG0
例えば
int hoge()
{
for (int i{}; i < 100’000’000; i++)
int a{4134};
return 0;
}
ってプログラムがあったらコンパイル時に
int hoge()
{
return 0;
}
ってプログラムに書き換えられたりすることがある
C言語やC++なんかはこういう最適化をかけても問題ないようにわざと仕様が緩くなってたりする

 

9: 名無しの民 2020/06/16(火) 14:11:54.653 ID:CaVC32cEa
言語によって最適化の巧拙があるのか?

 

10: 名無しの民 2020/06/16(火) 14:12:22.992 ID:lALMm0bDp
最適化はコンパイラ次第

 

11: 名無しの民 2020/06/16(火) 14:13:51.374 ID:sZukYf290
コンパイラが頑張っても言語仕様上効率的な最適化ができない場合があるのかな

 

12: 名無しの民 2020/06/16(火) 14:13:54.419 ID:lkGBqRAlp
cをアセンブラに落とした時にどういうコードになるかでも少し違うと学校で習った気がする

 

13: 名無しの民 2020/06/16(火) 14:17:23.160 ID:a1RIPUY4p
組み込み系をやればいいよ
最適化を切らないとまともに動かないから勉強になるよ

 

14: 名無しの民 2020/06/16(火) 14:19:35.306 ID:qN2WyjWXr
Microsoftのコンパイラより
Intelのコンパイラの方が速いコード出すとかな

 

15: 名無しの民 2020/06/16(火) 14:22:35.642 ID:L/ZQttj30
コンパイラの最適化の質というより言語仕様によって
値の有効範囲の検証コードとかを挿入せざるを得ないということもある

 

16: 名無しの民 2020/06/16(火) 14:26:26.099 ID:PSMZbksG0
あと高級言語はリソースの寿命を自動で管理する分のオーバーヘッドがあったりするけどC言語は手動だから無駄なオーバーヘッドは絶対に生まれないとかもある

 

18: 名無しの民 2020/06/16(火) 14:29:23.959 ID:bEayWtkvp
実行環境が必要系は論外だろw

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

コンパイラ 作りながら学ぶ [ 中田 育男 ]
価格:3300円(税込、送料無料) (2020/6/16時点)


引用元

http://hebi.5ch.net/test/read.cgi/news4vip/1592283922




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です