DbSyncKit v0.3.x achieves enhanced performance through optimized caching methods and a streamlined CacheManager for clarity.
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: v0.3
- Source Code: GitHub Repository
The modifications made to incorporate the benchmark source code are also accessible in the release assets.
Benchmark Results
The following table summarizes the benchmark results for key methods in DbSyncKit Version 0.3.x:
Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
---|---|---|---|---|---|---|---|
SyncAlbum | 296.655 μs | 4.1782 μs | 3.9083 μs | 56.1523 | 11.2305 | - | 914.94 KB |
SyncArtist | 221.358 μs | 4.3900 μs | 4.3116 μs | 43.9453 | 8.7891 | - | 716.18 KB |
SyncCustomer | 121.497 μs | 2.2703 μs | 2.1236 μs | 14.1602 | 13.6719 | - | 232.43 KB |
SyncEmployee | 24.816 μs | 0.3243 μs | 0.3033 μs | 3.3569 | 3.3264 | - | 53.97 KB |
SyncGenre | 27.774 μs | 0.5008 μs | 0.6855 μs | 5.2490 | 2.5635 | - | 85.25 KB |
SyncInvoice | 560.232 μs | 5.1417 μs | 4.8096 μs | 78.1250 | 31.2500 | - | 1270.56 KB |
SyncInvoiceLine | 2,601.227 μs | 32.3776 μs | 30.2860 μs | 398.4375 | 125.0000 | 54.6875 | 6528.18 KB |
SyncMediaType | 7.255 μs | 0.1363 μs | 0.3049 μs | 2.3499 | 0.3891 | - | 37.78 KB |
SyncPlaylist | 21.076 μs | 0.4191 μs | 0.9630 μs | 4.2114 | 0.4272 | - | 68.33 KB |
SyncPlaylistTrack | 15,679.753 μs | 124.4401 μs | 116.4014 μs | 2312.5000 | 1312.5000 | 656.2500 | 33827.17 KB |
SyncTrack | 5,521.082 μs | 101.9397 μs | 95.3544 μs | 671.8750 | 156.2500 | 62.5000 | 11241.47 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.