Memory Bandwidth Benchmark

[insert_php]require(‘./code/megastorm.php’ ); $pIndex = “MemoryBandwidth”; [/insert_php]


Memory Bandwidth Benchmark tool uses different memcpy() versions:

  • standard one provided by the compiler
  • assembler optimized versions

Output results are stored in ASCII format (formatted table) and if Gnuplot tool is available, a PNG is created with the graphical results.

Memory BandwidthMemory BandwidthMemory BandwidthMemory Bandwidth


  • Command line tool that can be customized via parameters.
  • Compares different memcpy() implementations:
    • standard one provided by the compiler
    • MMX (only available in 32bits binary)
    • SSE (only available in 32bits binary)
    • AVX (only available in 32bits binary)
    • Intel optimized AVX version
    • Intel optimized AVX2 version
    • asmlib (Agner Fog library)
  • Output to ASCII text files (formatted table) and PNG graphs if Gnuplot is available:
    • CPU name and caches are displayed in addition to the selected mode and memory buffer.
  • Works with a memory buffer of 256MB and have 4 working modes:
    • Fixed read: always reads from the same memory location.
    • Buffer read: Cyclically uses the memory buffer.
    • Fixed write: always writes to the same memory location.
    • Buffer write: Cyclically uses the memory buffer.
  • Available for Windows. Also compiles on Linux, makefile included and macOS (x86) although makefile is not provided.
  • Developed in C++ (Visual Studio 2019).


[insert_php] printDetails(); [/insert_php] | zlib license

32bits and 64bits binaries for supported operating systems.
    [insert_php] printDownload(“win-x86-x64″,”zip”,”icon-os-windows-vs.png”, “Windows”); [/insert_php]
Source code
Source code and make files for VS2019+ and GNU C/C++ 4.x.
    [insert_php] printDownload(“source”,”zip”,”icon-source-code1.png”, “Source code”); [/insert_php]
Previous releases
Get access to all releases repository.
    [insert_php] printRepository(); [/insert_php]