= Memory bandwidth
{title2=$B=Q/T$}
<Memory bandwidth> is the rate at which data crosses a specified <computer memory> interface, commonly measured in <bytes> per <second>. If $Q$ <bytes> are transferred in time $T$, the measured average is $B=Q/T$. The interface and counting convention matter: an application-level count can differ from physical traffic caused by <memory caches>.
A streaming <array> operation reading two eight-byte values and writing one per element transfers at least 24 useful <bytes> per element. At a sustained $24\times10^9$ <bytes> per <second>, that traffic alone limits throughput to $10^9$ elements per <second>. <Memory access latency> instead measures how long one access takes. Overlapping many accesses can achieve high <memory bandwidth> despite substantial <memory access latency>. STREAM measures sustained <memory bandwidth> with simple <array> kernels and working sets larger than the available <memory cache>.<STREAM Benchmark Reference Information by John D. McCalpin>[What is STREAM?, Run Rules and byte-count table]{ref}
Back to article page