﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
25753	Cache formats retrieved from django settings in formats.get_format	Jaap Roes	nobody	"If L10N is disabled `formats.get_format` always goes through django's settings module to get the requested format type. Accessing settings is fairly expensive, so I propose caching these values in the same way the values are already cached when L10N is enabled.

{{{
import timeit
import django
from django.conf import settings
from django.utils.formats import get_format

settings.configure()
django.setup()

print('%s' % timeit.repeat(""get_format('DATETIME_INPUT_FORMATS')"", setup='from __main__ import get_format'))
}}}

Before:

`[4.791080316994339, 4.822412799010635, 4.568255095000495]`

After:

`[2.801479902002029, 2.874774623007397, 2.796864636009559]`

The performance remains the same for when L10N is enabled (e.g. replace `settings.configure()` with `settings.configure(USE_L10N=True, LANGUAGE_CODE='nl')`)"	Cleanup/optimization	new	Utilities	dev	Normal				Unreviewed	1	0	0	0	0	0
