On Sat, 2002-03-23 at 13:37, Andy Ross wrote: > Tony Peden wrote: > > Jon S. Berndt wrote: > > > With optimization turned on as described above I got a build time (total > > > rebuild) of 3 minutes 30 seconds. So, in my case it didn't quite double. > > > > > > Thanks for the heads-up. > > > > > > Tony, what do you see on your machine? > > > > > > [tony@raptor ~/JSBSim-CVS/JSBSim]$ make clean > > ... > > [tony@raptor ~/JSBSim-CVS/JSBSim]$ time make > > c++ -DHAVE_CONFIG_H -I. -I. -I. -I. -Wall -O2 -c FGAerodynamics.cpp > > ... > > > > real 2m35.012s > > user 2m20.090s > > sys 0m5.050s > > > > g++ 2.95.4 > > > > I usually build with -O2, BTW. > > > I've been toying with this stuff a little more. First off, my machine > configuration. > > 950 Mhz Slot-A Athlon (This is the pre-thunderbird core, with the > really slow off-die L2 cache running at 333 MHz) > 1GB PC-100 RAM (I found a really great deal on slightly, er, off-spec > "PC133" memory. It runs flawlessly at 100MHz, hangs > hard at 133. A pity. Still, $90 for a gig of memory > is nothing to sneeze at -- I turned off my swap > partition entirely and never looked back. Virtual > memory is an anachronism for desktop machines.) > > Running the builds locally, with nothing else touching the machine, I > complete rebuild of the JSBSim directory from the FlightGear CVS. > These numbers are for gcc 2.96; the ones for 3.0.4 are basically > identical (I was too lazy to rebuild all the libraries just to test > one directory): > > -O2: > > real > 10m19.785s > user > 9m53.910s > sys > 0m12.130s > > -O2 -fno-inline: > > real > 3m37.231s > user > 3m11.820s > sys > 0m7.920s
Hmm. This only halved my compile time. > > No optimizations: > > real > 3m12.603s > user > 2m39.950s > sys > 0m7.580s > > I have to back off of the 15 minutes I quoted earlier -- that was > running over NFS, and with other stuff hammering on the same drive. > Still, it's quite clear that inlining is our problem here. The > difference between inlined-but-optimized code and completely > unoptimized code is only 13%, while the inlining takes a 300% (!!!) > hit. > > Qualitatively, there doesn't seem to be any difference in performance. > This isn't surprising, of course, since the simulator spends only a > tiny fraction of its time in the FDM. inlining about doubles JSBSim's speed, though that may well be in the noise when running FG. It'd be nice to have a repeatable way to benchmark FG. I think all we'd really need is to count the number of frames then exit at some configurable threshhold ... > > I'll try running a complete build with -fno-inline and see what the > difference is. If this gets me a 3x speed up in compile times, then > I'll shut up and stop bothering everyone. It's even possible that > this will get us a net runtime speedup too. My guess is that it won't > do anything measurable to runtime performance. > > On the subject, does anyone know the Right Way to change > CFLAGS/CXXFLAGS via automake/autoconf? I've just been hacking at the > generated makefiles. CXXFLAGS=<whatever> ./configure works with JSBSim's automake, I presume it will work for FG as well. > > Andy > > -- > Andrew J. Ross NextBus Information Systems > Senior Software Engineer Emeryville, CA > [EMAIL PROTECTED] http://www.nextbus.com > "Men go crazy in conflagrations. They only get better one by one." > - Sting (misquoted) > > > _______________________________________________ > Flightgear-devel mailing list > [EMAIL PROTECTED] > http://mail.flightgear.org/mailman/listinfo/flightgear-devel -- Tony Peden [EMAIL PROTECTED] We all know Linux is great ... it does infinite loops in 5 seconds. -- attributed to Linus Torvalds _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
