Skip to content

Conversation

alex-kulakov
Copy link
Contributor

To not get all types of assembly on every registration of types from a namespace created cache of types per assembly. Additionally, to not enumerate through 5000+ types in every test that require domain, alphabetic index of namespaces added. Together with new search algorithm, based on order of types in Assembly.GetTypes() result array, this allows to search for needed part of assembly types faster and efficiently, saving not only on iterations but on garbage collections (no 6000+ arrays of 5000+ elements that lived only for several types needed)

- added alphabetical index for namespaces to not search position from
  start all the time
- fixed issue of namespaces with one type
- added extra measure to not allow forever-loops
- Apply alphabetical index over biggest subnamespaces "Issues" and "Upgrade"
- small optimizations
- majority of models are less than 6 items so window is decreaded, it
  will affect big models of 100s types but it is already faster
- registration extension moved to TestHelper
@alex-kulakov alex-kulakov merged commit cf6765a into 7.0 Jun 17, 2025
@alex-kulakov alex-kulakov deleted the 7.0-exp-types-registration-imp branch June 17, 2025 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant