Opened 21 months ago
Last modified 21 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.