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 12844,improve lazy loading and resource usage,Waldemar Kornewald,nobody,"This is a general problem, but it's particularly noticeable on App Engine. Django loads a lot of modules up-front even if they're not needed. This makes the first request on a new app server instance very slow because the user has to wait for Django to do its imports. This can take five seconds if you also enable the admin UI. The attached patch is the first step towards more lazy loading and it can shave off 0.5-1s if you have a simple app. The following components are loaded on-demand: * forms * messages * CSRF * most of the file upload handling code (that can still be improved, though) * management Overall, I think it's 42 modules less for very simple sites. Personally, I'd like to see Django as a more serious alternative to small frameworks and REST solutions because I love the ORM, but there's too much overhead for simple sites that only use a small fraction of Django's features. Independent of that, I think Django's resource usage should be improved, anyway.",Cleanup/optimization,closed,Uncategorized,dev,Normal,wontfix,,,Design decision needed,1,0,0,0,0,0