Memory Bandwidth
Command-line benchmark for comparing memory copy implementations.
Memory Bandwidth measures several memcpy() implementations and exports plain-text tables, with optional Gnuplot charts when Gnuplot is available.
Overview
Memory Bandwidth Benchmark compares different memcpy() implementations, including the standard compiler implementation and optimized assembly versions.
Results are written as formatted ASCII tables. If Gnuplot is available, the tool also generates PNG charts from the benchmark data.
Screenshots
Details
Benchmark Modes 
- Command-line tool configurable through parameters.
- Uses a 256 MB memory buffer.
- Runs fixed-read, buffer-read, fixed-write and buffer-write modes.
- Displays CPU name, cache information, selected mode and memory buffer details.
Copy Implementations 
- Standard compiler-provided
memcpy(). - MMX, SSE and AVX implementations in the 32-bit binary.
- Intel optimized AVX and AVX2 versions.
- Agner Fog asmlib.
Platform and Build 
- Windows 32-bit and 64-bit binaries are available.
- Compiles on Linux with the included makefile.
- Can compile on macOS x86, although a makefile is not provided.
- Developed in C++ with Visual Studio 2019.
Download
Latest version: v3.10 (29-March-2021)
ChangeLog | Roadmap | zlib license
- Binaries
- 32-bit and 64-bit binaries for supported operating systems.
- Source code
- Source code and project files for VS2019+ and GNU C/C++ 4.x.
- Previous releases
- Get access to all releases repository.



