AFIO on GitHub |
CTest summary dashboard |
Linux and MacOS CI: | Windows CI: | Latest stable sources |
Latest stable Linux x64 prebuilt |
Latest stable OS X x64 prebuilt |
Latest stable VS2017 x64 prebuilt |
\snippet use_cases.cpp sparse_array | \snippet use_cases.cpp coroutine_write |
Why you might need AFIO |
||
---|---|---|
Manufacturer claimed 4Kb transfer latencies for the physical hardware: - Spinning rust hard drive latency @ QD1: **9000us** - SATA flash drive latency @ QD1: **800us** - NVMe flash drive latency @ QD1: **300us** - RTT UDP packet latency over a LAN: **60us** - NVMe Optane drive latency @ QD1: **60us** - `memcpy(4Kb)` latency: **5us** (main memory) to **1.3us** (L3 cache) - RTT PCIe latency: **0.5us** | 100% read QD1 4Kb direct transfer latencies for the software with AFIO: - < 99% spinning rust hard drive latency: Windows **187,231us** FreeBSD **9,836us** Linux **26,468us** - < 99% SATA flash drive latency: Windows **290us** Linux **158us** - < 99% NVMe drive latency: Windows **37us** FreeBSD **70us** Linux **30us** | 75% read 25% write QD4 4Kb direct transfer latencies for the software with AFIO: - < 99% spinning rust hard drive latency: Windows **48,185us** FreeBSD **61,834us** Linux **104,507us** - < 99% SATA flash drive latency: Windows **1,812us** Linux **1,416us** - < 99% NVMe drive latency: Windows **50us** FreeBSD **143us** Linux **40us** |