Skip to content

Improve reflection performance via e.g., CreateDelegate()  #90

@JeremyCaney

Description

@JeremyCaney

Use Delegate.CreateDelegate() (example, example, example) to create a delegate and cache it as part of e.g., MemberDispatcher, if not TypeMemberInfoCollection and MemberInfoCollection<>. This should dramatically improve performance.

Ideally, this should be applied to Topic classes and model classes. For Topic classes, this needs to account for Get{Attribute}() methods as well as [AttributeSetter] and [ReferenceSetter] properties. For model classes, this needs to account for properties and constructors. These may be able to be handled by a single class, though they may be better served by specialized classes.

Metadata

Metadata

Assignees

Labels

Area: MappingRelates to one of the `ITopicMappingService` interfaces or implementations.Priority: 2Severity 2: MajorStatus 5: CompleteTask is considered complete, and ready for deployment.Type: ImprovementImproves the functionality or interface of an existing feature.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions