| [Freeciv-Dev] Re: Profiling Civserver again[Top] [All Lists][Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
 
 On Thu, 02 Aug 2001, gs234@xxxxxxxxx wrote:
> On Wed, 1 Aug 2001, vasc@xxxxxxxxxxxxxx wrote:
>> Well does gcc optimize it this way?
>> 
>> #define map_adjust_x(X) \
>>   (((X) % map.xsize) + (((X >= 0) - 1) & map.xsize))
> 
> You mean * rather than &, right?
Ah, that's 0 or -1, not 1 or 0.  So it works.  Clever.
>> This is faster. Its faster on all CPUs. Notice it doesn't have any
>> branches. Of course its also pretty darn unreadable :-)
> 
> I'm sceptical.  Note that Gregory's patch, which replaced the
> modulus operations with two while loops, doubled the speed of
> normalize_map_pos().  It's too bad that there's no easy way to use
> loop constructs in macros, short of using inline functions instead.
> Perhaps the best thing would be to change it to trigger on
> 
>   (X) < 0 || (X) >= map.xsize)
> 
> instead.  Off course, the proof of the pudding is in the eating:
> Somebody really ought to profile all these different approaches,
> etc. etc.
Paul, could you try this?
  mapadjust.diff Description: Text document
 
-- 
Big Gaute                               http://www.srcf.ucam.org/~gs234/
I'm dressing up in an ill-fitting IVY-LEAGUE SUIT!!  Too late...
 
 
[Freeciv-Dev] Re: Profiling Civserver again, (continued)
[Freeciv-Dev] Re: Profiling Civserver again, Vasco Alexandre Da Silva Costa, 2001/08/01
[Freeciv-Dev] Re: Profiling Civserver again, Ross W. Wetmore, 2001/08/01
[Freeciv-Dev] Re: Profiling Civserver again, Robert Brady, 2001/08/01
[Freeciv-Dev] Re: Profiling Civserver again, Vasco Alexandre Da Silva Costa, 2001/08/01
[Freeciv-Dev] Re: Profiling Civserver again, Trent Piepho, 2001/08/01
[Freeciv-Dev] Re: Profiling Civserver again, Vasco Alexandre Da Silva Costa, 2001/08/01
[Freeciv-Dev] Re: Profiling Civserver again, Trent Piepho, 2001/08/02
[Freeciv-Dev] Re: Profiling Civserver again, Greg Wooledge, 2001/08/02
[Freeciv-Dev] Re: Profiling Civserver again, Jules Bean, 2001/08/02
[Freeciv-Dev] Re: Profiling Civserver again, Gaute B Strokkenes, 2001/08/06
[Freeciv-Dev] Re: Profiling Civserver again,
Gaute B Strokkenes <=
[Freeciv-Dev] Re: Profiling Civserver again, Paul Zastoupil, 2001/08/02
[Freeciv-Dev] Re: Profiling Civserver again, Lino Mastrodomenico, 2001/08/03
[Freeciv-Dev] Re: Profiling Civserver again, Gaute B Strokkenes, 2001/08/03
[Freeciv-Dev] Re: Profiling Civserver again, Gaute B Strokkenes, 2001/08/04
 
 |  |