-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Replace use of ArrayList with List<T> in BamlMapTable for performance #9967
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
@h3xds1nz this PR is good to be merged. Can you please resolve the merge conflicts? |
ee35295
to
13de797
Compare
@himgoyalmicro Yeyyyy :) Done |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9967 +/- ##
===================================================
- Coverage 11.45872% 11.07036% -0.38836%
===================================================
Files 3214 3352 +138
Lines 648458 668000 +19542
Branches 71511 74980 +3469
===================================================
- Hits 74305 73950 -355
- Misses 572989 592890 +19901
+ Partials 1164 1160 -4
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Thank you, @h3xds1nz, for your consistent and valuable contributions. 😄 |
@himgoyalmicro Thank you for reviewing :) |
Description
Replaces 4x
ArrayList
collections withList<T>
for improved performance and increased type safety.I've also introduced
init
setters for the respective properties so they can be used as part of theClone
operation and the underlying fields can be converted toreadonly
. Rest are just NULL check removals coming from theas
casting pattern or simply redundant as the values in the lists are always from freshly initialized types, no NULLs are inserted.Sample benchmark showing difference between
ArrayList
andList<T>
with reference type can be found f.e. in #9432.Customer Impact
Improved performance, cleaner codebase for developers.
Regression
No.
Testing
Local build.
Risk
Low, just type swaps.
Microsoft Reviewers: Open in CodeFlow