-
Notifications
You must be signed in to change notification settings - Fork 3
ARCH-6354: Optimize Get/SetFieldValue()
to use integer indexes instead of search in Dictionary by string field name
#158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…d of search by string key
@SergeiPavlov check failed tests, I saw |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very complex as it requires a lot of immersion in the code to understand the complexity of the algorithm. There is a serious lack of a test that would handle significant cases in BuildPersistentFields
and GetBaseFields
.
I'm relying on existing tests. Looks like they cover all non-trivial cases (virtual Fields, fields from interfaces, Anyway I have not merged it into |
@SergeiPavlov I would just collect all non-trivial cases (virtual Fields, fields from interfaces, new fields, recycled fields, structs) in some test fixture. |
This would be copy/pasting existing tests |
…ead of search in Dictionary by string field name (#158) * ARCH-6354: Optimize Get/SetFieldValue() to use integer indexes instead of search by string key * Correct for IssueJira0538 test case * Refactor * Refactor * non-Public fields too * add comment * rename * Fix issue witn `new` property specifier * Fix Flaky test * Fix BuildPersistentFields() * Skip overridden persistent properties * Correctly process overriddent properties * DOn't ignore abstract props * Add EOL * Upgrade to Ubuntu 22.04 * Fix assigning prop index * Fix processing virtual fields * Minor fix * process IsStructure bases * Fix a few cases * Fix QueryCompositeTest case * Process Recycled fields * Optimize Field mapping * Refactor
The
[Field]
properties inside class are sorted in order ofMetadataToken
value.Properties, inherited from base class are first.