Click here to Skip to main content
16,018,534 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: need your help Pin
Priya_Sundar26-Nov-07 0:14
Priya_Sundar26-Nov-07 0:14 
GeneralRe: need your help Pin
Florin Crişan26-Nov-07 5:14
Florin Crişan26-Nov-07 5:14 
QuestionCompile faster Pin
MarcoNedwig25-Nov-07 22:45
MarcoNedwig25-Nov-07 22:45 
GeneralRe: Compile faster Pin
Matthew Faithfull25-Nov-07 23:44
Matthew Faithfull25-Nov-07 23:44 
GeneralRe: Compile faster Pin
MarcoNedwig26-Nov-07 0:10
MarcoNedwig26-Nov-07 0:10 
GeneralRe: Compile faster Pin
jhwurmbach26-Nov-07 1:16
jhwurmbach26-Nov-07 1:16 
AnswerRe: Compile faster Pin
Nelek26-Nov-07 0:38
protectorNelek26-Nov-07 0:38 
AnswerRe: Compile faster Pin
peterchen26-Nov-07 3:30
peterchen26-Nov-07 3:30 
I agree that breaking up into modules (libraries/DLLs) would be the best thing - but that's not straightforward, you have to be very careful with change management, header inclusion etc.

You still need a full rebuild regulary, so here are som tips. Don'texpect to much, though, shaving off 50% off the compile time is highly unlikely.

In my experience, the VS2005 C++ compiler is mostly CPU limited, so there's not much you can do besides go to a fatter CPU. However, for such a large project, 1G is short. Add more, it will help even if it is just used for disk cache. (check swap file use during build - if it's heavy, you can expect huge gains)

Defrag the VS2005 drive and the drive you build to.

Check if CPU really clogs during build (it might limit at 50%, due to HT). I expect it to do so, but if it doesn't you may be limited by disk speed. (Which is actually be good news, because there's quite some room for improvement. VC6 building to a RAM disk would reduce build times by about 40%. However, comparing a VS2005 build to a good single samsung disk vs. a WD Raptor RAID did not show any difference on my dev system)

Also, IIRC VS2005 uses multiple CPU's only for separat projects that can be built independently - that might be the main reason for splitting up the code base.

In my experience, turning OFF hyperthreading for a single-CPU load is actually faster (less than a percent, though). When building in parallel, you should definitely turn off HT, as you will be trashing cache like mad.

Make sure you build with sensible compiler settings:
if "generating browse files" still works the same way it did, turn it off. Check your precompiled header settings - use a dedicated stdafx.h/stdafx.cpp (do not use automatic) play around with which headers actually included there.
Release builds with optimization turned on can take much longer (and needs much more CPU + probably RAM)

If you want to build a new system: go for raw CPU power and memory throughput, have one disk for the OS, and a secondary for builds. I'm partial to AMD Opteron - though make sure you jump on the new socket.

Always measure, though!
Oh.. and tell me what you tried, and if it helped Smile | :)


Another idea: try turning off "write through" for the disk that receives temporary + output files. The problem is, you definitely don't want that for the drive containing the source code, so you will have to adjust some settings.



We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist

QuestionCString to UTF8 conversion Pin
vytheese25-Nov-07 22:38
professionalvytheese25-Nov-07 22:38 
AnswerRe: CString to UTF8 conversion Pin
bob1697226-Nov-07 2:18
bob1697226-Nov-07 2:18 
GeneralRe: CString to UTF8 conversion Pin
vytheese26-Nov-07 21:52
professionalvytheese26-Nov-07 21:52 
AnswerRe: view resources of the project Pin
Nelek25-Nov-07 22:07
protectorNelek25-Nov-07 22:07 
GeneralRe: view resources of the project Pin
keyto25-Nov-07 22:19
keyto25-Nov-07 22:19 
GeneralRe: view resources of the project Pin
Priya_Sundar25-Nov-07 23:04
Priya_Sundar25-Nov-07 23:04 
GeneralRe: view resources of the project Pin
keyto25-Nov-07 23:23
keyto25-Nov-07 23:23 
GeneralRe: view resources of the project Pin
Priya_Sundar25-Nov-07 23:48
Priya_Sundar25-Nov-07 23:48 
GeneralRe: view resources of the project Pin
keyto26-Nov-07 0:23
keyto26-Nov-07 0:23 
QuestionIE ReBar Window Problem Pin
ayogesh_28@yahoo.co.in25-Nov-07 21:54
ayogesh_28@yahoo.co.in25-Nov-07 21:54 
AnswerRe: IE ReBar Window Problem Pin
Priya_Sundar25-Nov-07 23:56
Priya_Sundar25-Nov-07 23:56 
GeneralRe: IE ReBar Window Problem Pin
ayogesh_28@yahoo.co.in26-Nov-07 1:42
ayogesh_28@yahoo.co.in26-Nov-07 1:42 
QuestionSDI with no doc-view, replace CChildView, there is an error Pin
followait25-Nov-07 21:54
followait25-Nov-07 21:54 
AnswerFound the answer Pin
followait26-Nov-07 1:43
followait26-Nov-07 1:43 
QuestionGetting the raw input data without having a window Pin
Mithilesh Katre25-Nov-07 21:42
Mithilesh Katre25-Nov-07 21:42 
Questionproblem in enumerating the registry values. Pin
yudhisthira25-Nov-07 19:19
yudhisthira25-Nov-07 19:19 
AnswerRe: problem in enumerating the registry values. Pin
Mark Salsbery25-Nov-07 19:31
Mark Salsbery25-Nov-07 19:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.