Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2002:
[Freeciv-Dev] Re: [Patch] simple_ai_unit_type_iterate
Home

[Freeciv-Dev] Re: [Patch] simple_ai_unit_type_iterate

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jdorje@xxxxxxxxxxxxxxxxxxxxx
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: [Patch] simple_ai_unit_type_iterate
From: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 8 Mar 2002 19:31:38 +0100
Reply-to: rf13@xxxxxxxxxxxxxxxxxxxxxx

On Fri, Mar 08, 2002 at 12:49:47PM -0500, Jason Short wrote:
> Raimar Falke wrote:
> > On Wed, Mar 06, 2002 at 12:47:52PM +0100, Raimar Falke wrote:
> > 
> >>It turns out that is_ai_simple_military can be computed before the
> >>game starts. The patch does this and replaces the calls with a new
> >>iterate. Another 2.2% speedup.
> >>
> > 
> > Mike provided the idea to code the iterate in another form which
> > should be a bit faster. However I haven't made any measurements
> > yet. (HINT).
> 
> Aside from the potential buffer overflow (if there are U_LAST different 
> units, all of which are ai_simple_military) it looks fine.  Whether it's 
> faster or not...I'd suggest first converting the code to use the 
> iterator, then tweaking the iterator internals.  

> I doubt any speed difference will be comparable

I also doubt this.

> to, say, inlining a single function...

> Given that this piece of memory stays around for the life of the
> server and is only calculated once, why not make one pass to count
> the number of simple_military unit types, then allocate and make
> another pass to fill them in?

You know my opinion about static vs. dynamic.

> I'm not entirely happy with the name simple_ai_unit_type_iterate. 
> "simple" just isn't very descriptive.  I'd say 
> "military_ai_unit_type_iterate" might be better, but not by much. 
> Something understandable would probably be way too long...

I'm open for suggestions.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "I haven't lost my mind - it's backed up on tape somewhere."


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