Visual Studioのコンパイル時間に最も影響を与えるPCコンポーネントはどれですか?


回答:



13

私が見つけた最大の違いは、物理的な要因ではなく、ソフトウェアの要因です。どのアンチウイルスをインストールしましたか?

ウイルス対策製品の中には、ソフトウェア開発をうまく処理できないものもあります。これらのアプリケーションファイルはすべて書き換えられ、不正行為の疑いがあり、毎回すべてのファイルを再スキャンします。

(詳細については、https://stackoverflow.com/questions/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129を参照してください。)

一方、既存のマシンのパフォーマンスを改善したい場合、利用可能なメモリを最大限に活用してすぐに勝つことができます。


オフィスのPCはTrendMicro OfficeScanを使用しています。自宅での私のdevのラップトップは、AVG 8.使用している
ロブ・アレン

3
「トレンドマイクロ」。まあ。それを他の何かに変えられないなら、どんなパフォーマンスにも別れを告げましょう。
ベヴァン

8

これは、MSBUildで複数のCPUを使用することに関するScott Hanselmanの素晴らしい研究です。高速化はかなり劇的です。

編集:ただし、Visual Studioを使用して優れたエクスペリエンスを得るには、十分なRAMが必要です。:)


+1トピックに関する良い記事。私はそれを忘れていました。彼はこれに関してポッドキャストもしたと思います。
BinaryMisfit

4

かなりのサイズのC ++コードベースでの私の個人的な経験:

古い機械

プロセッサー: Pentium 4 HT 3.06 GHz
メモリ: 1 GB DDR RAM(PC 2100、したがって333 MHz)
ディスク: 7200 RPMハードドライブ(メモリが機能する場合は、UDMA 100)
コンパイル時間:50分

新しいマシン:

プロセッサー: 1.6 GHzのCore i7 720QM(8論理プロセッサー)、すべてのコアがアクティブな場合に1.73 GHzにターボブースト
メモリ: 1066 MHzの8 GB DDR3 RAM
ディスク: 7200 RPMハードドライブ(SATA 2)
コンパイル時間:4分/ MP


結論:プロセッサが多ければ多いほど、クロック速度が比較的低い場合でもメリットがあります。SSDは時間をさらに改善しますが、コンパイルメッセージを観察すると、30秒以上も改善されるとは思いません。


3

私が覚えている限りでは、主にプロセッサとメモリを覚えています。簡単なグーグルで、コンパイル時間を改善できるさまざまな調整が明らかになりました。

Joelは最近、ソリッドステートディスクのコンパイルへの影響についてここに投稿しました。一般に、ディスク速度はコンパイル時間を大幅に改善しません。ただし、これによると、lyngbymが指摘した効果があります。


1

C ++プログラムを構築する場合、他の何よりも重要な要素は構造的なものです。ソースコードが非常に垂直に構造化されている場合、ビルド時間、特にインクリメンタルビルドに壊滅的な影響を与えます。クアッドコアXeonの劇的な改善のために、プロジェクトのいくつかの部分をローカルで再構築しました。18か月後、彼ら(プロジェクトを所有している人々)は、Core i7マシン上でも私のウォールクロックのビルド時間と一致させることができません。

ソフトウェアレイアウトの効果(ポジティブまたはネガティブ)は、チームのすべてのメンバーとチームが実行するすべてのビルドで増加します。


異なるコード構造を説明するリンクがありますか?私はあなたが何を指しているのか知っていると思いますが、確かではありません。
ロブ・アレン

参照を見つけるのに問題がありますが、一般的な考え方は、1)可能な場合は前方宣言を使用する、2)前方宣言が機能しない場合にのみファイルを含める、3)含めるファイルがそれ以上宣言しないことを確認することです必要なものよりも多くの場合、コンパイルされる特定のソースファイルに必要なファイルが含まれる可能性があります(つまり、ヘッダーを小さく保ち、ソースファイルの場合と同じように前方宣言を使用します)。
サム・ハーウェル

1

Xoreax IncrediBuildは、私が働いているコンパイル時間を大幅に改善した分散ビルドシステムです。(残念ながら、特にプログラム全体の最適化とリンク時コード生成を使用したリリースビルドでは、リンク時間がかなり長くなりますが、それは予想されることです。)

代替テキスト

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.