Hardware Benchmarking: Documenting BIOS, Drivers, and OS
Accurate hardware benchmarking requires rigorous documentation of the software environment to ensure test reproducibility and valid performance comparisons. This article outlines the industry best practices for recording motherboard BIOS versions, device driver builds, and operating system patches. By standardizing how you capture, store, and present this system data, you can isolate hardware variables, explain performance anomalies, and maintain the scientific integrity of your benchmark results.
Documenting the Motherboard BIOS
The motherboard firmware directly controls power delivery, memory timings, and hardware initialization. Even minor BIOS updates can drastically alter CPU and memory performance.
- Record the Exact Version String: Do not write "Latest BIOS." Record the exact alphanumeric string provided by the manufacturer (e.g., version 1402 or F21).
- Include the Release Date: Manufacturers occasionally pull and re-release BIOS versions under the same name. Recording the build date prevents confusion.
- Note the Microcode/AGESA Version: For AMD systems, document the AGESA version (e.g., ComboAM5PI 1.0.0.7c). For Intel systems, record the CPU microcode revision (e.g., 0x129). These dictate fundamental processor behavior and security mitigations.
- List Modified Settings: Explicitly state if you are
using "Optimized Defaults." Document every single deviation from the
default state, including:
- Memory profiles (XMP, EXPO, DOCP) and whether sub-timings are set to Auto or Manual.
- Power limits (Intel PL1/PL2, AMD PPT/TDC/EDC, or Asus MultiCore Enhancement).
- PCIe features like Resizable BAR or Above 4G Decoding.
- Cooling profiles or fan curves, as thermal throttling impacts boost clocks.
Tracking Driver Builds
Device drivers, particularly for graphics cards and chipsets, contain specific optimizations for applications and games.
- Prioritize GPU and Chipset Drivers: While audio and network drivers rarely skew benchmarks, GPU and motherboard chipset drivers heavily influence results. Always record both.
- Use the Full Build Number: Write the complete driver version (e.g., NVIDIA Game Ready Driver 551.23 or AMD Software: Adrenalin Edition 24.1.1).
- Specify WHQL vs. Beta: Clearly indicate if a driver is WHQL-certified, a beta release, or a specialized press-preview build provided prior to a hardware launch.
- Document Control Panel Overrides: Confirm that the driver control panel is set to default settings. If you change settings like Texture Filtering Quality, V-Sync, or Low Latency Mode, document them clearly.
Recording Operating System Patches
Operating system updates frequently alter thread scheduling, power management, and security overhead, all of which impact benchmark scores.
- State the OS Edition and Feature Update: Note whether you are using Windows 10, Windows 11, or a specific Linux distribution, along with the major release version (e.g., Windows 11 Pro 23H2 or Ubuntu 22.04 LTS).
- Capture the Exact OS Build Number: Major updates
receive monthly cumulative patches that alter performance. Open the
command prompt or use the
winvercommand in Windows to get the exact build and revision number (e.g., Build 22631.3155). For Linux, record the exact kernel version using theuname -rcommand. - Document OS Security Features: Security mitigations
can reduce performance by 5% to 15%. You must document the status
(Enabled or Disabled) of the following:
- Virtualization-Based Security (VBS).
- Hypervisor-Protected Code Integrity (HVCI), also known as Memory Integrity or Core Isolation.
- Note the Power Plan: Record the active OS power plan (e.g., Windows Balanced, High Performance, or Ultimate Performance).
Best Practices for Data Collection and Storage
Relying on manual entry leads to human error. Implement a systematic workflow to capture your benchmarking environment before running any tests.
- Automate Data Capture: Use diagnostic tools that
export text or XML reports. Run DirectX Diagnostic Tool
(
dxdiag), System Information (msinfo32), HWiNFO, CPU-Z, and GPU-Z. Save their text exports in the same folder as your benchmark results for that specific run. - Freeze the Test Environment: Once a benchmarking suite begins, disable automatic OS updates and driver installations. Disconnect the test bench from the internet if the tests do not require an active connection.
- Maintain a Master Changelog: Keep a centralized spreadsheet for your test bench. Log the date and reason for every BIOS flash, driver update, or OS patch. If a new piece of hardware forces a software update, note which previous benchmarks are now invalidated for direct comparison.
- Publish a Configuration Table: When presenting your data, group all software variables into a single, easy-to-read system configuration table near the beginning of your report. This allows readers to immediately understand the testing parameters before interpreting the graphs.