Version 0.3.x

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

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.