LOAD-02C-FIND, C-MOVE and C-GET

Pass

No errors in any step, including C-MOVE at 16 and 32 studies at a time (about 2,894 new associations to the destination). C-FIND peaked at about 7,223 queries/s, C-MOVE at 1,145 MB/s and C-GET at 9,229 MB/s; the 32-study C-MOVE and C-GET steps were limited by the PC's CPU.

What this test proves

Shows query and retrieve speed of a DicomKit server holding 50,000 images, and that every answer is complete.

How it was run

  1. A DicomServer in its own process answers from a test archive of 1,000 patients, 2,000 studies and 50,000 CT images (0.5 MiB each when retrieved).
  2. Clients run four kinds of C-FIND in turn (patient name wildcard, study date range, patient ID wildcard on Patient Root, series of a study) for 20 s per step with 1, 8, 32 and 64 clients.
  3. C-MOVE sends whole studies (25 images) to a second DicomKit server, opening a new association for every study; C-GET returns them on the client's own association; 1, 4, 16 and 32 studies at a time, 20 s per step.

How correctness was checked

Every C-FIND answer had exactly the expected number of matches; every C-MOVE and C-GET reported 25 completed and 0 failed sub-operations, and the C-MOVE destination received every image that was reported.

Measured results

Step Operations Ops/s MB/s p50 p95 p99 Max Errors Peak memory
C-FIND, 1 client 24,866 1,243 0.91 ms 1.4 ms 2.93 ms 64.1 ms 0 365 MB
C-FIND, 8 clients 78,787 3,939 2.37 ms 3.35 ms 3.81 ms 16.3 ms 0 295 MB
C-FIND, 32 clients 144,482 7,223 3.94 ms 9.24 ms 13 ms 39.4 ms 0 636 MB
C-FIND, 64 clients 141,606 7,078 8.1 ms 17.5 ms 24.7 ms 88.3 ms 0 655 MB
C-MOVE, 1 study at a time
latency is per study of 25 images
196 9.8 122 118 ms 135 ms 176 ms 211 ms 0 443 MB
C-MOVE, 4 studies at a time
latency is per study of 25 images
1,028 51.3 641 77.6 ms 81.5 ms 84.3 ms 109 ms 0 447 MB
C-MOVE, 16 studies at a time
latency is per study of 25 images
1,842 91.6 1,145 174 ms 185 ms 190 ms 227 ms 0 452 MB
C-MOVE, 32 studies at a time
latency is per study of 25 images; the PC's CPU was saturated (97 % on average)
1,052 52.1 651 609 ms 726 ms 788 ms 919 ms 0 556 MB
C-GET, 1 study at a time
latency is per study of 25 images
2,095 105 1,309 9.24 ms 10.5 ms 17.1 ms 35.4 ms 0 579 MB
C-GET, 4 studies at a time
latency is per study of 25 images
6,070 303 3,792 12.8 ms 16 ms 22.1 ms 34.9 ms 0 587 MB
C-GET, 16 studies at a time
latency is per study of 25 images
12,908 645 8,061 24.7 ms 26.5 ms 28 ms 43.6 ms 0 592 MB
C-GET, 32 studies at a time
latency is per study of 25 images; the PC's CPU was saturated (96 % on average)
14,785 738 9,229 43 ms 48.9 ms 52.8 ms 70.9 ms 0 382 MB

Latency is per operation (p50 = median, p95/p99 = 95th/99th percentile). Memory is the peak working set of the test process.

Test run

Run
a20bedea-bacd-468b-af8d-945829c4b81f
Started (UTC)
2026-10-26 17:02:46, finished 2026-10-26 18:52:45
Test PC
Intel(R) Core(TM) i9-14900K, 24 cores / 32 threads, 64 GB RAM, NVMe SSD, Microsoft Windows 11 Pro build 26200.9711, .NET 10.0.12 (one PC, client and server on loopback)
License
Enterprise
Source commit
b804fb7
DicomKit
1.0.0 SHA-256 96ada39062c07bca37511abfb6baac0a44d914fb705bac01d77cb02146fdac0e
DicomKit.Imaging
1.0.0 SHA-256 015b51ea833039d934ba153cae50d393fb77846430ca3fc3d65b4fb8cf4346ed
DicomKit.Web
1.0.0 SHA-256 2a2f4f7f02e1849929294062bee7dd8f3a24449428469c1fddb6982e77218a7b
DicomKit.Web.AspNetCore
1.0.0 SHA-256 daa1105881f1c0b60ca9c788d52d41445bd653a9d190c8862a2b2b1386d5e37c