Opened 7 months ago

Last modified 7 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.

Change History (0)

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