Opened 7 months ago

Last modified 7 months ago

#35236 closed Cleanup/optimization

Access Field.attname and Field.column directly — at Version 1

Reported by: Adam Johnson Owned by: Adam Johnson
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 (last modified by Adam Johnson)

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 ~2k calls between the versions of each method:

  • 630 for Field.get_attname_column()
  • 208 for ForeignKey.get_attname_column()
  • 666 for Field.get_attname()
  • 431 for ForeignKey.get_attname()

All of these are eliminated by moving to attribute access.

Change History (1)

comment:1 by Adam Johnson, 7 months ago

Description: modified (diff)
Has patch: set
Owner: changed from nobody to Adam Johnson
Note: See TracTickets for help on using tickets.
Back to Top