Skip to content
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

Improve BindableList performance + reduce allocations #6450

Merged
merged 2 commits into from
Dec 10, 2024

Commits on Dec 10, 2024

  1. Add/improve benchmarks

    smoogipoo committed Dec 10, 2024
    Configuration menu
    Copy the full SHA
    98e7875 View commit details
    Browse the repository at this point in the history
  2. General performance improvements

    Remove usages of `Cast<T>` by using `ICollection<T>`. `List<T>`
    internally optimises across `ICollection<T>`, so doing this removes an
    enumeration.
    
    Replaced `notifyCollectionChanged()` with local invocations, allowing
    null-check to happen.
    
    Only capture previous states (e.g. the cleared items during `Clear()`)
    if there's a subscription to `CollectionChanged`.
    smoogipoo committed Dec 10, 2024
    Configuration menu
    Copy the full SHA
    a4bbf25 View commit details
    Browse the repository at this point in the history