Opened 9 months ago
Last modified 9 months ago
#35236 closed Cleanup/optimization
Access Field.attname and Field.column directly — at Initial Version
Reported by: | Adam Johnson | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | 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
Many field references call Field.get_attname_column()
or Field.get_attname()
, despite the attname
and column
attributes containing the computed results (after contribute_to_class()
). Updating those call sites to plain attribute access eliminates some function calls, a worthy small speedup.
From a profile of system checks on a smaller project, there were ~1k calls for various versions of each method:
630 0.000 0.000 0.000 0.000 __init__.py:976(get_attname_column) 208 0.000 0.000 0.000 0.000 related.py:1122(get_attname_column) 431 0.000 0.000 0.000 0.000 related.py:1119(get_attname) 666 0.000 0.000 0.000 0.000 __init__.py:973(get_attname)
All of these are eliminated by moving to attribute access.
Note:
See TracTickets
for help on using tickets.