Performance testing across diverse scenarios was conducted on DbSyncKit Version 1.0.x, highlighting significant enhancements in responsiveness, efficiency, and overall increased performance.
Benchmark Results
Environment Information
- BenchmarkDotNet Version: v0.13.11
- Operating System: Windows 10 (10.0.19045.3803/22H2/2022Update)
- Processor: AMD Ryzen 7 7700X, 1 CPU, 16 logical and 8 physical cores
- .NET SDK: 8.0.100
Benchmark Configuration
- Host Environment: .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
- Default Job: .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
Database Changes Summary
The table below summarizes the changes in the database:
Method | Added | Edited | Deleted | Total Source Row | Total Destination Row |
---|---|---|---|---|---|
Album | 2 | 4 | 0 | 347 | 345 |
Artist | 0 | 3 | 0 | 275 | 275 |
SyncCustomer | 1 | 17 | 0 | 59 | 58 |
SyncEmployee | 0 | 3 | 0 | 8 | 8 |
Genre | 0 | 2 | 0 | 25 | 25 |
Invoice | 6 | 29 | 0 | 412 | 406 |
InvoiceLine | 36 | 0 | 1 | 2239 | 2204 |
MediaType | 0 | 0 | 0 | 5 | 5 |
Playlist | 0 | 0 | 0 | 18 | 18 |
PlaylistTrack | 9 | 0 | 2 | 8713 | 8706 |
Track | 2 | 166 | 1 | 3502 | 3501 |
These changes in the database are consistent for all benchmarks after this.
Release Information
- Release Tag: v1.0
- Source Code: GitHub Repository
Benchmark Results
The following table summarizes the benchmark results for key methods in DbSyncKit Version 1.0.x:
Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
---|---|---|---|---|---|---|---|
SyncAlbum | 115.324 μs | 1.4119 μs | 1.1790 μs | 25.8789 | 7.8125 | - | 419.33 KB |
SyncArtist | 88.551 μs | 1.6604 μs | 1.4719 μs | 20.5078 | 6.3477 | - | 333.35 KB |
SyncCustomer | 41.246 μs | 0.7832 μs | 0.8043 μs | 7.4463 | 7.3242 | - | 119.8 KB |
SyncEmployee | 9.455 μs | 0.1867 μs | 0.1747 μs | 3.2043 | 3.1891 | - | 49.62 KB |
SyncGenre | 13.004 μs | 0.2365 μs | 0.4016 μs | 4.0894 | 4.0283 | - | 64.22 KB |
SyncInvoice | 164.307 μs | 3.2636 μs | 4.8848 μs | 35.1563 | 22.4609 | - | 568.61 KB |
SyncInvoiceLine | 1,031.687 μs | 20.2226 μs | 18.9163 μs | 210.9375 | 82.0313 | 58.5938 | 3176.24 KB |
SyncMediaType | 4.791 μs | 0.0933 μs | 0.1424 μs | 2.1667 | 0.3815 | - | 33.84 KB |
SyncPlaylist | 8.965 μs | 0.1687 μs | 0.1578 μs | 3.2349 | 0.4425 | - | 51.4 KB |
SyncPlaylistTrack | 9,791.370 μs | 190.5087 μs | 219.3901 μs | 1343.7500 | 1062.5000 | 578.1250 | 15617.39 KB |
SyncTrack | 2,026.596 μs | 40.2239 μs | 86.5863 μs | 339.8438 | 101.5625 | 58.5938 | 5266.11 KB |
Compare Versions
Explore the differences between various versions of DbSyncKit to track the evolution of performance and functionality.
For detailed comparisons between different versions, refer to the Get Differences Between Versions page in the documentation.