OpenRIAServices / OpenRiaServices

The Open RIA Services project continues what was previously known as WCF RIA Services.
https://openriaservices.gitbook.io/openriaservices/
Apache License 2.0
54 stars 47 forks source link

Improve Add/Attach performance for large graphs #487

Closed Daniel-Svensson closed 5 months ago

Daniel-Svensson commented 5 months ago

Makes adding n entities to an EntityCollection or similar roughly O(n) instead of O(n²)

Commit 1-2 are based on perf data from https://github.com/OpenRIAServices/OpenRiaServices/discussions/450

Commit 3 is mostly code cleanup, with some minor perf improvements

The performance for adding 20 000 entities to an EntityCollection is improved by more than 100x (just for commit 2)

Commit 2 performance difference: With only commit 1 & 3 With commit 1,2,3 diff
time 35s 314ms >111 times better
allocated 18 624 MB 85 MB > 200 times better
sonarcloud[bot] commented 5 months ago

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
95.2% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud