If you mark constant.DEBUG as constant and compile your project with astoptimizer, enable_debug has no effect (if it was compiled with DEBUG=False).
So only use it if DEBUG will not be changed at runtime. It cannot be used if your users might run your applucation in debug mode.
To compare it to the C language, DEBUG would be a #define and astoptimizer can be see as a preprocessor.
Victor
Victor Stinner, 30.12.2012 11:42:
> My astoptimizer provides tools to really *remove* debug at compilation, so
> the overhead of the debug code is just null.
>
> You can for example declare your variable project.config.DEBUG as constant
> with the value 0, where project.config is a module. So the if statement in
> "from project.config import DEBUG ... if DEBUG: ..." will be removed.
How would you know at compile time that it can be removed? How do you
handle the example below?
Stefan
## constants.py
DEBUG = False
## enable_debug.py
import constants
constants.DEBUG = True
## test.py
import enable_debug
from constants import DEBUG
if DEBUG:
print("DEBUGGING !")
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
http://mail.python.org/mailman/listinfo/python-ideas