A small update: I have a local branch working again, but nothing ready to review.
I have decided the origin.status and origin.tried apis I mentioned above aren't going to work. For templates to be safely cacheable in a multi-threaded environment, they basically need to be treated as immutable. Anything that manipulates a template or it's subobjects is problematic. I think I can work with this restraint, though. The next things I'll probably submit is to remove the origin.reload method. As mentioned above, we should prefer template loading to go through the loaders instead. I've made progress here but have went down the rabbit hole of cleaning up the debug implementation. It looks promising that we can combine the debug parsing, as brought up in another thread, with minimal overhead. Most of the extra time is due to extra function calls, not tokenizing. These calls aren't necessary if there's a single parser and lexer class. I think we can avoid copying debug info to every token and node as well. This can also address #24119. Unfortunately, this part of the code isn't tested well. When I have additional tests written I'll submit a PR. Preston -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/c6a1e8fe-2438-4b88-bd23-38a2e50c6577%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
