人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: suzume_oyado
●カテゴリ:コンピュータ
✍キーワード:(T_T) Core i7 pc Pentium4 がっかり
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● horonict
●27ポイント

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


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

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

◎質問者からの返答

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

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

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

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


2 ● yas-mal
●27ポイント

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


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

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

◎質問者からの返答

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

はい。そうです。

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

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

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

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

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


3 ● TRTr
●26ポイント

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

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


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

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

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

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

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

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


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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ