Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2003:
[Freeciv-Dev] Re: (PR#4381) some clean with get_map_tile(...) , get_map_
Home

[Freeciv-Dev] Re: (PR#4381) some clean with get_map_tile(...) , get_map_

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: bursig@xxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#4381) some clean with get_map_tile(...) , get_map_terrain(...), get_map_special(...) ...
From: "Raimar Falke" <rf13@xxxxxxxxxxxxxxxxx>
Date: Wed, 11 Jun 2003 03:28:10 -0700
Reply-to: rt@xxxxxxxxxxxxxx

On Wed, Jun 11, 2003 at 02:26:14AM -0700, Per I. Mathisen wrote:
> Removing some debug code from some of the map access macros and functions
> can also boost speed by a lot (perhaps another 10%), especially in debug
> mode. As someone who always runs in debug mode, I'd very much appreciate
> if some of this debug code was turned off unless explicitly turned on for
> example by manually changing an undef to a define in map.c. Usually we
> don't need to debug the map code.

The question is what are the semantics of the debug mode. We have the
no-debug mode (very fast, no asserts) and the normal mode (asserts). A
debug then has to do more checks. It sounds like you want to remove
checks in the debug mode so get speed. This way you will end up in the
normal mode.

This is a list what DEBUG controls:
 - LOG_DEBUG which is a speed penalty (I never use the range enabling
 of the freelog messages. Does people use this feature?)
 - CHECK_MAP_POS which is a speed penalty but a good one IMHO
 - CMD_EXPERIMENTAL (I can't see the connection to DEBUG. See also
 Linux's "Prompt for development and/or incomplete code/drivers".)
 - CHECK_UNIT (should be on also in the default mode IMHO)
 - tile position in the client
 - various other printouts

If CHECK_UNIT is always on and CMD_EXPERIMENTAL gets its own
--with-experimental you would have a DEBUG mode which you use if:
 - use like to use the range syntax for all debug messages
 - want checks which costs speed (CHECK_MAP_POS)
 - want more information

I guess at this point you switch to the normal mode.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  A supercomputer is a computer running an endless loop in just a second




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