Skip to content

Conversation

Sergio0694
Copy link
Member

@Sergio0694 Sergio0694 commented Nov 29, 2021

Closes #40

This PR includes the following changes:

Benchmarks

Info Mean Error StdDev Gen 0 Allocated
main 17.41 ms 0.2930 ms 0.2600 ms 31.2500 188 KB
ConditionalWeakTable2 fork (dabca2a) 17.84 ms 0.0820 ms 0.0690 ms 31.2500 188 KB
ref struct enumerator (9b86a88) 15.32 ms 0.0730 ms 0.0570 ms - -
No active enumerators tracking (b1dc97b) 15.25 ms 0.0260 ms 0.0200 ms - -
Monitor.Enter loop hoisting (e92c5c2) 11.33 ms 0.2090 ms 0.1960 ms - -
Dictionary2 fork (9be01fa) 11.52 ms 0.0370 ms 0.0290 ms - -
typeof(Unit) specialization (fc538c3) 9.839 ms 0.1863 ms 0.1743 ms - -
Remove Unsafe.As(object) (9dd8ea9) 9.830 ms 0.1930 ms 0.1982 ms - -
No bounds checks, strength reduction (4408379) 9.309 ms 0.1709 ms 0.1515 ms - -
Remove KeyValuePair<,> usage 7.980 ms 0.1586 ms 0.2006 ms - -
Reduce enumerator field accesses (3f20dce) 7.348 ms 0.1494 ms 0.1834 ms - -
Remove array covariance checks (15bd652) 7.246 ms 0.1056 ms 0.0988 ms - -

@Sergio0694 Sergio0694 added optimization ☄ Performance or memory usage improvements mvvm-toolkit 🧰 Issues/PRs for the MVVM Toolkit labels Nov 29, 2021
@Sergio0694 Sergio0694 force-pushed the dev/weak-messenger-opts branch from fe387be to 7744ef3 Compare November 29, 2021 13:37
@Sergio0694 Sergio0694 marked this pull request as ready for review November 29, 2021 13:38
@Sergio0694 Sergio0694 force-pushed the dev/weak-messenger-opts branch from 7744ef3 to 786c562 Compare November 29, 2021 14:11
@Sergio0694 Sergio0694 force-pushed the dev/weak-messenger-opts branch from 786c562 to f86da36 Compare December 2, 2021 17:04
@Sergio0694 Sergio0694 requested a review from Arlodotexe December 2, 2021 18:59
@Sergio0694 Sergio0694 force-pushed the dev/weak-messenger-opts branch from f86da36 to 64c8a62 Compare December 9, 2021 09:56
@Sergio0694 Sergio0694 force-pushed the dev/weak-messenger-opts branch from 64c8a62 to 805437c Compare December 9, 2021 09:57
Removed type checks from guarded devirtualization when broadcasting
@Sergio0694 Sergio0694 merged commit 32a27ee into main Dec 10, 2021
@delete-merged-branch delete-merged-branch bot deleted the dev/weak-messenger-opts branch December 10, 2021 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mvvm-toolkit 🧰 Issues/PRs for the MVVM Toolkit optimization ☄ Performance or memory usage improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make WeakReferenceMessenger broadcasting 0-alloc!

3 participants