Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2003:
[Freeciv-Dev] Re: Freeciv is too slow
Home

[Freeciv-Dev] Re: Freeciv is too slow

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Paul Zastoupil <paul@xxxxxxxxxxxxx>
Cc: "Per I. Mathisen" <per@xxxxxxxxxxx>, Freeciv Development List <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: Freeciv is too slow
From: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>
Date: Sun, 9 Nov 2003 15:01:18 +0000 (GMT)

On Thu, 6 Nov 2003, Paul Zastoupil wrote:

> On Thu, Nov 06, 2003 at 05:37:19PM +0000, Per I. Mathisen wrote:
> > On Thu, 6 Nov 2003, Paul Zastoupil wrote:
> > > > then you can run 'time civserver --read myinputfile.txt' and measure 
> > > > this
> > > > exactly.
> > >
> > > real  0m42.048s
> > > user  0m35.860s
> > > sys   0m0.100s
> > 
> > Bad.
> > 
> > Okay, just to bother you a bit more, can you skip ahead until turn X9,
> > that is, the turn before your turn number is divisible by 10, and then run
> > the above again, but this time also outputting to gamelog? Then post the
> > gamelog. It should contain a rundown of how many units and cities there
> > are in the game.
> 
> Wouldn't a savegame do the same thing?  Plus it gives you some of my
> non-standard settings. 
> http://www.freeciv.org/~paulz/reallyslow.gz
> http://www.freeciv.org/~paulz/reallyslowrc
> 
> > 
> > If you could post a profile, then that would of course be a godsend.
> 
> Much slower with a profile.
> real    2m2.479s
> user    2m1.270s
> sys     0m0.400s
> 
> http://www.freeciv.org/~paulz/reallyslow_gprof.out

Studying the profile and running some tests I concluded that we are 
dealing with a cocktail of bugs here.

The biggest one is 6772: AIs never declare war
There are no AIs at war in Paulz' savegame.  There are "war targets" 
though, so AI build lots of units in their cities to go on attack when 
they declre war on their "target" (which they never do).  On average there 
are more than 10 units per city.  So when get_defender is called, it has 
to do win_chance on around 10 units.

A big contributor to the problem is the bug I just filed, 6807.  This 
sends the units to attack a player who is not an enemy yet, resulting in 
a loop in ai_military_attack, calling fstk again and again.

I suspect that when 6772 is fixed 6802 will cease to be a big problem, 
but it's a bug nonetheless.

G.




[Prev in Thread] Current Thread [Next in Thread]