Opened 5 years ago

Last modified 5 years ago

#30772 closed Cleanup/optimization

Template Cache "make_template_fragment_key" function speed up & switch to SHA256 — at Initial Version

Reported by: Daniel Owned by: nobody
Component: Core (Cache system) Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

The make_template_fragment_key function in django.core.cache.utils has the following (minor) issues:

  • Creates a string of all joined vary_on args to send to the hashing function, rather than using the hashlib .update() method.

Here is a version solving these, switching to SHA256, and speeding up the function quite a bit:

https://github.com/danthedeckie/django/tree/simplified_make_template_fragment_key

And here's the repo showing performance improvement:

https://github.com/danthedeckie/make_template_fragment_key_test

Which seems to be faster in every case.

The downside of this is that the cache key is now different from before. The tests have been updated to the new values.

Thoughts?

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top