Mubench is a software that offers a thorough analysis of x86 processors by providing low-level benchmarking.
The benchmark results generated by mubench are exponentially more detailed than the ones found in AMD or Intel manuals. Moreover, mubench results for various processors are readily available. If you find the information useful, it is recommended that you run mubench on your processor and upload the results.
mubench supports all SIMD instruction sets for the x86, including SSSE3, SSE3, SSE2, SSE, MMX, MMX Ext, 3DNow! and 3DNow! Ext. However, support for non-SIMD instructions is partial. Most data move, binary arithmetic, logical, shift/rotate, and bit/byte instructions are supported, but branch and function call instructions or instructions manipulating the stack are not supported. Floating-point instructions for x87 are also not supported. Currently, mubench only uses register-to-register or immediate forms of the instructions, with memory operands not supported. However, these limitations will be gradually removed in later versions.
To run the software, use the command "perl mubench.pl [options]." The software also offers various options, such as accurate tests, processor speed selection, and output format selection. In this release, the fast benchmark is the default, gcc 4.x is supported, and several non-SIMD instructions have been added, bringing support for non-SIMD much closer to comprehensiveness.
In summary, mubench is an in-depth benchmark specifically designed for x86 processors that provides comprehensive and detailed insights into latency and throughput. The software is recommended for individuals optimizing assembly code and developing compilers.
Version 0.2.2: N/A