LOAD-01C-STORE throughput

Pass

All 40,000 images arrived and passed the checks. Throughput rose from 156 MB/s on one association to about 673-702 MB/s at 16-64 associations; at 64 associations the PC's CPU averaged only 52 %, while the slowest images (17 MB DX, 32 MB XA) waited up to 2.1 s, so that step was not limited by CPU; the server was also writing about 8 GB of files per step (its share was not measured separately).

What this test proves

Shows how many images per second a DicomKit DICOM server (C-STORE SCP) receives from DicomKit clients, and that every image arrives complete.

How it was run

  1. A DicomServer with DicomKit's FileSystemStoreHandler runs in its own process and writes every received image to disk.
  2. DicomClient connections send 10,000 images per step: 6,000 CT 512x512, 3,700 MR 256x256, 150 CR 2500x2000, 130 DX 3000x3000 and 20 XA of 64 frames (about 8.2 GB in total), 16-bit, Explicit VR Little Endian.
  3. The step is repeated with 1, 4, 16 and 64 parallel associations.
  4. After each step all received files are checked and then deleted.

How correctness was checked

In every step all 10,000 SOP Instance UIDs were on disk with no extra or partial files, and the SHA-256 of the pixel data of every 100th image (100 per step) was equal to what was sent.

Measured results

Step Operations Ops/s MB/s p50 p95 p99 Max Errors Peak memory
1 association 10,000 200 156 3.14 ms 6.3 ms 81.3 ms 246 ms 0 155 MB
4 associations 10,000 350 272 7.49 ms 9.56 ms 207 ms 440 ms 0 300 MB
16 associations 10,000 866 673 11 ms 18.3 ms 310 ms 671 ms 0 503 MB
64 associations 10,000 905 702 43.9 ms 106 ms 891 ms 2,121 ms 0 626 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