Core i7 860でPCを作ってもらったのですが、今まで使っていた

Pentium4 3.6GHzよりも、コンパイル時間が殆ど変わりませんでした。
ひさびさのPC更新だったので、期待していたのに、がっかりです・・・(T_T)
こんなもんでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/01/11 10:10:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:horonict No.1

回答回数257ベストアンサー獲得回数51

ポイント27pt

大雑把な話になりますが、マルチコアの Core i7 がシングルコアの Pentium4 に比べて高速に動作するのは、アプリケーションがマルチスレッドに対応している場合です。


コンパイラの製品名が分からないと何とも言えませんが、そのコンパイラ自体がマルチスレッド処理できるものでないと、Core i7の真価は発揮できません。

コンパイラの仕様をご確認ください。

id:suzume_oyado

なるほど。最近のCPUは、マルチコアにする事で高速化を狙っているのですね。

ビルド環境はgccなので、並列化オプションで試してみます。

ありがとうございました。

以降、他の方で、アドバイスがあれば是非。

2010/01/04 11:02:16
id:yas-mal No.2

回答回数199ベストアンサー獲得回数4

ポイント27pt

「コンパイル時間」ということですので、プログラム自体の動作ではなく、プログラムをコンパイルする時間ということでよろしいでしょうか?


コンパイル作業では、多くのファイルの書き出し/読み込みを伴うため、CPUの速度よりも、ファイル書き込み先(HDDなど)の速度が制限要因になります。

SSDやRAM Diskなど、書き込み/読み込みの速い装置を使えば、速くなると思います。

id:suzume_oyado

>プログラムをコンパイルする時間ということでよろしいでしょうか

はい。そうです。

>SSDやRAM Diskなど、書き込み/読み込みの速い装置を使えば、速くなると思います。

本当ですか!?!? わーい。

一応、SSDを注文して今日 届くので試してみようと思います。

うまくいったら喜びます。

ただ、HDDランプがそんなに忙しそうにしていなかったので 改善するか気がかりですが・・・。

2010/01/04 11:39:00
id:TRTr No.3

回答回数52ベストアンサー獲得回数13

ポイント26pt

自分でmakefileを変更しない場合にはHDDやCPUを増強した上で、

それを活かせるコンパイルオプションを指定する必要があります。


多コアを活かすのであればditccでコンパイルしてみてください

http://d.hatena.ne.jp/big-eyed-hamster/20090908/1252411582

並列コンパイルをしてくれます。

並列化オプションは並列実行するバイナリを生成する物で

コンパイル自体の並列化とは異なります。

また、メモリを活かして-pipeオプションも効果はあるかもしれません。


ただし、コンパイル時間はCPUよりもHDD、それよりもプログラムの書き方や

makefileの書き方に大きく影響を受けます。

既にコンパイルして、未変更の部分をコンパイルしないですむようにするのが基本です。

よく変更する部分だけ別モジュールにして

その他の部分をコンパイルしないなどの工夫が必要となります。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません