プロが教えるわが家の防犯対策術!

現在 C++Builder でプログラミングをしている GUIのアプリをリビルドすると20分かかります。現在のPCは, 4Core/4Thread, fc=3GHzです。これを、
1. 6Core/6Thread, fc=3GHz のPCの場合どのくらいの時間でビルドできるようになるでしょうか?
2.6Core/12Thread, fc=3GHz-4GHz, iCore 5 124000 のPCの場合、どのくらいの時間でビルドできそうでしょうか? 
どのPCの場合もメモリは少なくても20GBほどであり十分あるものとします。
アプリの内容により、それからパソコンにより簡単、単純には推測できないとはおもいますが、いろいろなパソコンをたくさんお持ちで経験のある方がいらっしゃいまいしたらお教え願います。

質問者からの補足コメント

  • 2.は iCore 5 12400 です。0が一つ多く書いてしまいました。

      補足日時:2022/11/14 19:25
  • cppファイルは正確には数えていませんが200個ぐらいです。

      補足日時:2022/11/14 19:42
  • 一般的にPCの性能は Graphic Board にも大きく依存します。 けれども、アプリのソースコードには動く画像の処理はありませんし、ReBuildの最中、C++Builder のIDEにはコンパイル中を表示するダイアログがひとつ出ているだけで画面の変化はありませんから、Graphic Boardの有無、性能には無関係と考えていただいてよろしいと思います。

      補足日時:2022/11/15 07:02
  • C++Builder ReBuild時のTaskManegerの様子です。たぶんC++Builderのコンパイラは Threadを積極活用していないと推測しています。だからコンパイルが遅いのではないかと思います。
    それに対してVisual Studio 2022 VC++では、様子が違います。それは次のページに画像を載せます。

    「PCの性能とビルド時間」の補足画像4
      補足日時:2022/11/21 17:22
  • Visual Studio 2022 VC++, ReBuild時のTaskManegerの様子です。
    およそ400個(具体的に数えたことはない)のcppファイルをReBuildした時のものです。30秒から40秒でReBuildが完了します。ただし同じProjectではありません。たぶんVS2022はThreadをフル活用しているからではないかと思います。上(C++Builder)と下(VS2022 VC++)のちがいです。
    書くのが遅くなりましたが、私のPCは、HDDではなくてSATAのSSD(500GB)です。
    ReBuild時間を短くしたいことはもちろん希望ですが、今知りたいことは最初に書いた性能の異なる3種類のパソコンではReBuild時間はどの程度の違いとなって現れるかです。新しいパソコンを購入する時の参考にしたいのです。よろしくお願いします。

    「PCの性能とビルド時間」の補足画像5
      補足日時:2022/11/21 17:44

A 回答 (4件)

参考になるかわからんけど


ソース数 1200(60MB) の C# の ASP.NET プロジェクトは
クリーンビルド(Visual Studio)で
およそ20秒弱。数ファイル修正ではビルドに数秒ですね。
i5-8250U(4core 8thread) 8GB M2-SSD

i5-2400 は passmark で 6000、
i5-8250U は 7500 だから大差はない。
おそらく SSD が一番効くと思う。
コンパイルは大部分ファイル処理だからね。
    • good
    • 0

c++だと、precompile header のON/OFFで劇的に変わりそう。

    • good
    • 0
この回答へのお礼

回答ありがとうございました。 Precompiled Header のことだと思いますが、#include "pch1.h" #pragma hdrstop として全 cpp ファイルで 既に使っています。最適化して初めて使ったときは確かに効果がありました。今はその状態で質問をしております。

お礼日時:2022/11/20 18:27

EclipseでJavaコンパイルだと 効くのは



HDD/SSDの性能>メモリ>CPU

だった。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。参考にさせていただきます。
CPUとメモリ書いてみます。
0.iCore 5 2400 4C/4T DDR3(現在、11年経過、故障知らずのPC)
1.iCore 5 8500 6C/6T DDR4
2.iCore 5 12400 6C/12T DDR4
を想定しています。ReBuild時間が半分ぐらいにはなってほしいのですが・・・。 2.のPCならば、どのくらい(の時間)になるでしょうか? YouTubeでGraphic Cardを搭載したゲーミングPCの性能比較(何とかベンチをまわして調べました)をたくさん見かけます。けれでも動く画像を扱わず、Graphic Card を搭載していないPCの性能比較はないようです。あってもよいのにと思います。

お礼日時:2022/11/20 13:16

200ファイルを4スレッド使ってフルビルドで20分ということで、


コンパイル処理が75%、リンク処理が25%だとしたら、
1スレッドあたり50ファイル/15分より、(200/12)*(15/50)=5で
20分から10分くらいに短縮されるのでは。

雑な計算なので信ぴょう性はないです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。(15/50)の意味は、Rebuild全体の75%を占める時間の1Thread当たり、1cppファイル当たりのコンパイル時間であると拝見しました。
0. これまでの旧い4C/4TのPCの場合、(200/4)*(15/50)+5(link)=20(min)
1. 6C/6TのPCの場合、 (200/6)*(15/50)+5=15(min)
2.6C/12TのPCの場合、(200/12)*(15/50)+5=10(min)
のように見積もったと理解しました。なるほど・・・! 
ありがとうございます。たいへん参考になりました。
いろいろなパソコンをたくさんお持ちで体験のある方の回答もお待ちしております。Visual Studio VC++の場合でもかまいません。

お礼日時:2022/11/18 14:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!