1

私は (Turbo C から) (BC5.2 まで) 長年の Borland ユーザーです。私は MingW/GCC を CodeBlocks と共に約 1 年間使用してきましたが、これは主に追加のサポート esp のためです。ネイティブ 64 ビット整数。

とにかく、コンパイル速度について質問があります。

長さが apx 60,000 行の C (Win32) ファイルがあります。Borland 5.2 では、このファイルのコンパイルに約 3 ~ 5 秒かかります。GCC では 35 秒以上かかります。

私が使用しているGCCコマンドラインオプションは.

-std=c99 -s -O2 (-O も試しました)

最終的な exe サイズはほぼ同じ +/- 50kB です。

コンパイル時間に大きな違いがあるのはなぜですか? BC5.2 に匹敵するように GCC を高速化する方法はありますか?

4

1 に答える 1

3

Borland のコンパイラは、少なくとも当時公開されたマーケティングとベンチマークによれば、最初から高速になるように設計されており、業界で広く認められていました。これらは、単一のアーキテクチャである x86 ファミリをターゲットにしています。

gcc高速になるように設計されていません。次のように設計されています。

  • 組み込みコントローラーからスーパーコンピューターまで、複数のアーキテクチャー向けのターゲット コード
  • 複数のアーキテクチャでホストされる
  • 変化し続ける C++ 言語標準に対応する

使用目的の相違は、間違いなくその性能に影響を与えます。

于 2011-09-28T05:28:47.927 に答える