Page 1 of 1

General Linux Compiling question

Posted: Mon May 25, 2009 2:15 pm
by John Adams
I've been noticing something really odd on my Fedora 10 Linux server, when using "make" on the development SVN code.

Normally, "make clean" is instantaneous, and the subsequent "make" command takes around 1-3 minutes to completely recompile the World.

However, every so often I fetch new code from SVN, use the same "make clean" then "make" commands, and the World compiles in like 20 seconds. Seriously.

Is that normal? Don't tell me disk caching, because I reboot and/or run make between doing many other things ;) I know Linux is good, but can't be that good! I just want to make sure nothing in my system is making bad World compiles - thus leading me to the dozens of issues I seem to have weekly ;)

Thanks

Re: General Linux Compiling question

Posted: Mon May 25, 2009 4:14 pm
by LethalEncounter
Sounds like either something is hogging your CPU most of the time and so when it is not the compiles are faster. That or the make clean isn't deleting the object files so it isn't recompiling them.

Re: General Linux Compiling question

Posted: Mon May 25, 2009 5:10 pm
by John Adams
I guess I'm asking because it's odd that say on SVN 706, it takes 2 mins to compile world from clean. But on 707, it's like 20 seconds. During all my "revert" testing last night trying to see where something might have busted (see my many other complaint posts ;)), this is when it became very obvious compile times were different.

I am on a VM, but the host is uber, and I do monitor performance (CPU, Memory and Disk I/O) constantly since I am new to ESX... shows flat line most of the time. So I do not think CPU is being used as a reason... and the makefiles or whatever decides to "clean", they don't change - ever. Right?

Mystery. Hey, as long as you don't think there's something wrong with that behavior, I can live with fast compile times ;)


FYI, this is what my make clean always looks like:

Code: Select all

[john@mmo-eq2dev World]$ make clean
rm -f ../common/timer.o ../common/packet_dump.o races.o ../common/unix.o ../common/Mutex.o ../common/MiscFunctions.o ../common/emu_opcodes.o Commands.o Items.o classes.o ../common/TCPConnection.o Combat.o ../common/emu_opcodes.o client.o net.o LoginServer.o ../common/md5.o ../common/dbcore.o Skills.o GroundSpawn.o ../common/EQEMuError.o ../common/misc.o ../common/Crypto.o ../common/RC4.o .obj/debug.o .obj/database.o .obj/EQStream.o ../common/xmlParser.o WorldDatabase.o NPC.o Player.o .obj/EQStreamFactory.o .obj/EQPacket.o ../common/CRC16.o ../common/packet_functions.o ../common/Condition.o ../common/opcodemgr.o zoneserver.o Spawn.o Object.o ../common/ConfigReader.o ../common/PacketStruct.o World.o ClientPacketFunctions.o SpellProcess.o Spells.o LuaFunctions.o LuaInterface.o NPC_AI.o Entity.o Widget.o Sign.o Quests.o Factions.o  eq2world