diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 92e202edca..048504a5c8 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -187,6 +187,10 @@ DATETIME_FORMAT = 'N j, Y, P' # http://www.djangoproject.com/documentation/templates/#now TIME_FORMAT = 'P' +# Whether to enable Psyco, which optimizes Python code. Requires Psyco. +# http://psyco.sourceforge.net/ +ENABLE_PSYCO = False + ############## # MIDDLEWARE # ############## diff --git a/django/core/handlers/modpython.py b/django/core/handlers/modpython.py index e52879065f..eec35ff072 100644 --- a/django/core/handlers/modpython.py +++ b/django/core/handlers/modpython.py @@ -130,6 +130,10 @@ class ModPythonHandler(BaseHandler): from django.conf import settings from django.core import db + if settings.ENABLE_PSYCO: + import psyco + psyco.profile() + # if we need to set up middleware, now that settings works we can do it now. if self._request_middleware is None: self.load_middleware() diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index 4d5931e630..23204e63a6 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -145,6 +145,10 @@ class WSGIHandler(BaseHandler): from django.conf import settings from django.core import db + if settings.ENABLE_PSYCO: + import psyco + psyco.profile() + # Set up middleware if needed. We couldn't do this earlier, because # settings weren't available. if self._request_middleware is None: diff --git a/docs/settings.txt b/docs/settings.txt index 3689b7f151..3f83ea0e69 100644 --- a/docs/settings.txt +++ b/docs/settings.txt @@ -343,6 +343,17 @@ Subject-line prefix for e-mail messages sent with ``django.core.mail.mail_admins or ``django.core.mail.mail_managers``. You'll probably want to include the trailing space. +ENABLE_PSYCO +------------ + +Default: ``False`` + +**New in Django development version.** + +Whether to enable Psyco, which optimizes Python code. Requires Psyco_. + +.. _Psyco: http://psyco.sourceforge.net/ + IGNORABLE_404_ENDS ------------------