pmbw is a set of assembler routines to measure the parallel memory (cache and RAM) bandwidth of modern multi-core machines. Memory bandwidth is one of the key performance factors of any computer system. Today, measuring the memory performance often gives a more realistic view of the overall speed of a machine than pure arithmetic or floating-point benchmarks. pmbw contains a set of very basic functions which are all hand-coded in assembler to avoid any compiler optimizations. These basic functions are modeled after the basic inner loops found in any data processing, sequential scanning and pure random access. Any application will have a memory access pattern which is somewhere between these two extremes. The current version of pmbw supports benchmarking 16-, 32-, 64-, 128-, or 256-bit memory transfers on x86_32-bit, x86_64-bit, and ARMv6 systems.