Skip to content

Add Performance Benchmarks#287

Merged
TheCodeTraveler merged 25 commits intomainfrom
Add-Performance-Benchmarks
Jun 21, 2024
Merged

Add Performance Benchmarks#287
TheCodeTraveler merged 25 commits intomainfrom
Add-Performance-Benchmarks

Conversation

@TheCodeTraveler
Copy link
Copy Markdown
Collaborator

@TheCodeTraveler TheCodeTraveler commented Jun 19, 2024

Description of Change

This PR adds Benchmarks via Benchmarkdotnet to improve TypedBindings.

PR Checklist

  • Has tests (if omitted, state reason in description)
  • Rebased on top of main at time of PR
  • Changes adhere to coding standard

Additional information

This PR also updates the CI Pipeline to run benchmarks and publish the artifacts.

Initial Results

There looks to be some performance improvements that can be made for using TypedBinding that I'll be investigating.

Method Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
InitializeDefaultBindings 2.944 us 0.0586 us 0.0519 us 1.00 0.00 0.3090 0.1526 - 2.53 KB 1.00
InitializeDefaultBindingsMarkup 2.743 us 0.0422 us 0.0374 us 0.93 0.02 0.3090 0.1526 - 2.53 KB 1.00
InitializeTypedBindingsMarkup 32.088 us 0.2376 us 0.1984 us 10.90 0.20 1.3428 0.6714 0.0610 11.44 KB 4.52
Method Mean Error StdDev Ratio Allocated Alloc Ratio
ExecuteDefaultBindings_ViewModelToView 3.241 ns 0.0321 ns 0.0284 ns 1.00 - NA
ExecuteDefaultBindingsMarkup_ViewModelToView 3.227 ns 0.0260 ns 0.0243 ns 1.00 - NA
ExecuteTypedBindingsMarkup_ViewModelToView 3.247 ns 0.0284 ns 0.0266 ns 1.00 - NA
Method Mean Error StdDev Ratio Gen0 Allocated Alloc Ratio
ExecuteDefaultBindings_ViewToViewModel 166.0 ns 0.71 ns 0.63 ns 1.00 0.0191 160 B 1.00
ExecuteDefaultBindingsMarkup_ViewToViewModel 172.3 ns 1.22 ns 1.08 ns 1.04 0.0191 160 B 1.00
ExecuteTypedBindingsMarkup_ViewToViewModel 171.8 ns 0.90 ns 0.84 ns 1.04 0.0191 160 B 1.00

@TheCodeTraveler TheCodeTraveler enabled auto-merge (squash) June 21, 2024 18:39
@TheCodeTraveler TheCodeTraveler merged commit 5d9ab90 into main Jun 21, 2024
@TheCodeTraveler TheCodeTraveler deleted the Add-Performance-Benchmarks branch June 21, 2024 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants