Re: [GD-General] Compile times
Brought to you by:
vexxed72
From: Javier A. <ja...@py...> - 2002-12-10 07:49:03
|
Noel Llopis <ll...@co...> wrote: > We're using C++ and STL, and even though we have a good physical > organization (like Lakos described), compiling all our libraries and > game code for one platform could take up to 15-20 minutes. That's only > for a full build; a quick change somewhere still requires building > that file and then doing a link, which is about 30-40 seconds. > > I find 30-40 seconds for a trivial change close to unbearable. > Especially when it takes another 10 seconds for the game to start and > another 10 seconds for the level to load. We're using C++ (MSVC6) with no STL, project broken down into about 12 subprojects, two of them are DLLs and the rest are .libs. Total size of the game codebase (.cpp + .h) is 2316 files (1099 are .cpp) taking up 30 megs (538K lines of actual code). In my "development machine" (as little hands-on development as I do these days), a P3-600 with 512Mb of RAM, any change to a .cpp takes about 3-5 seconds to recompile. A full rebuild is in the order of 20 minutes. The game takes less than one second to start up, and most missions / maps take less than 5 seconds (many are about 2 seconds) to load in release build, about twice as much in debug. All these times are lower for the programmers, who use P4-1.7 + 512Mb machines. All machines have a 7200 rpm primary hard drive. We're not doing anything exceptional about compile times, other than keeping an eye on dependencies, using PCHs with some care (one of the reasons for the number of subprojects), not using STL, and following common Lakos wisdom. About load times, we have kept all our data file organisation very straightforward, and most of them are read sequentially (we have a log warning whenever a file seek operation goes backwards, and the only things that trigger it are WAV format loading and graphics reload). Javier Arevalo Pyro Studios |