eq4me
11-06-2006, 09:48 PM
Seeing an file named gmon.out after I stopped the EQEmu server on my Linux box and remembering what that file is for I had a look in the Unix/Linux makefiles I discovered that profiling support( -pg) it turned on in zone/ and eqlaunch/. I suggest that all people that run Linux/Unix servers get rid of this and recompile asap. Enabling profiling support induces a huge performance penalty!
for zone/makefile
COPTS=$(WFLAGS) -O -g -pg -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) `$(PERL_FLAGS)`
to
COPTS=$(WFLAGS) -O -g -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) `$(PERL_FLAGS)`
eqlaunch/makefile is similar.
FNW: I would suggest to get rid of this option in all the unix/linux makefiles by default. Imho also the -g option isnt exactly neccessary for the average server but it doesnt induce a performance penalty.
I noticed also that EMuShareMem/ and /common/SocketLib/ are missing the -march=i686 flag but are compiled with -O2. And finally: Is there a reason some of the other stuff is compiled with 'only' -O?
for zone/makefile
COPTS=$(WFLAGS) -O -g -pg -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) `$(PERL_FLAGS)`
to
COPTS=$(WFLAGS) -O -g -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) `$(PERL_FLAGS)`
eqlaunch/makefile is similar.
FNW: I would suggest to get rid of this option in all the unix/linux makefiles by default. Imho also the -g option isnt exactly neccessary for the average server but it doesnt induce a performance penalty.
I noticed also that EMuShareMem/ and /common/SocketLib/ are missing the -march=i686 flag but are compiled with -O2. And finally: Is there a reason some of the other stuff is compiled with 'only' -O?