mubench 0.2.2 reviewDownload
mubench is an in-depth, low-level benchmark for x86 processors
mubench is an in-depth, low-level benchmark for x86 processors. Its primary goal is to provide useful information for people who optimize assembly code and for people who write compilers. mubench project measures latency and throughput for each individual instruction (sometimes several forms of the same instruction), as well as the throughput of arbitrary instruction mixes. The results produced by mubench are typically an order of magnitude more detailed than those found in AMD or Intel manuals.
mubench results for a variety of processors are available. If you find this information useful, please run mubench on your processor and upload the results.
mubench fully supports all SIMD instruction sets for the x86, including SSSE3, SSE3, SSE2, SSE, MMX, MMX Ext, 3DNow! and 3DNow! Ext. Support for non-SIMD instructions is partial: most data move, binary arithmetic, logical, shift/rotate and bit/byte instructions are supported, but other instructions, particularly branch and function call instructions or instructions manipulating the stack, are not supported. Floating-point instructions for the x87 are not supported. mubench only uses register-to-register (or immediate) forms of the instructions; memory operands are not supported. These limitations will be gradually removed in later releases.
perl mubench.pl [options]
--(no-)accurate runs tests several times (default on)
--mhz=2500 processor speed in MHz (normally autodetected from /proc/cpuinfo, set here if that
is wrong, for example if you have SpeedStep enabled)
--(no-)64bit benchmark 64-bit (amd64, emt64, x86-64) instructions (default autodetected)
--(no-)32bit benchmark 32-bit instructions
--(no-)pairs benchmark instruction mixes (default on, very slow; use --no-pairs for a very fast benchmark
that runs in minutes)
--include=add,sub benchmark only instructions matching the given list of patterns (regular expressions ok)
--output=xml|csv|text select output format
--outfile=file.xml output file to save results to (default mubench-results-.xml if xml,
standard output otherwise)
What's New in This Release:
the fast form of the benchmark is now default.
gcc 4.x now works
a number of non-simd instructions added, support for non-simd is much closer to complete now
mubench 0.2.2 search tags