Benchmarking — ArchWiki
Benchmarking is the act of measuring performance and comparing the results to another system’s results or a widely accepted standard through a unified procedure. This unified method of evaluating system performance can help answer questions such as:
- Is the system performing as it should?
- What driver version should be used to get optimal performance?
- Is the system capable of doing task x?
Many tools can be used to determine system performance, the following provides a list of tools available.
Standalone tools
UnixBench
Install unixbenchAUR, to run the benchmark run ubench.
See also:
- https://github.com/kdlucas/byte-unixbench
- https://github.com/kdlucas/byte-unixbench/blob/master/UnixBench/USAGE
interbench
interbench is an application designed to benchmark interactivity in Linux. It is designed to measure the effect of changes in Linux kernel design or system configuration changes such as CPU, I/O scheduler and filesystem changes and options.
Tip: With careful benchmarking, different hardware can be compared.
interbench is available in the AUR: interbenchAUR.
See also:
- Realtime process management
- Advanced traffic control
- Linux-ck
- Linux-pf
ttcp
ttcp (Test TCP) measures point-to-point bandwidth over any network connection. The program must be provided on both nodes between which bandwidth is to be determined.
Various flavors of ttcp can be found in the AUR:
- ttcpAUR
- nuttcpAUR
iperf
iperf is an easy to use point-to-point bandwidth testing tool that can use either TCP or UDP. It has nicely formatted output and a parallel test mode.
iperf can be installed, or a different version of iperf is available with iperf3.
time
The time(1) command provides timing statistics about the command run by displaying the time that passed between invocation and termination. time contains the time
command and some shells provide time
as a builtin command.
$ time tar -zxvf archive.tar.gz
hdparm
Storage media can be benchmarked with hdparm (hdparm). Using hdparm with the -Tt switch, one can time sequential reads. This method is independent of partition alignment!
# hdparm -Tt /dev/sdX
/dev/sdX: Timing cached reads: x MB in y seconds = z MB/sec Timing buffered disk reads: x MB in y seconds = z MB/sec
Note: One should run the above command 2-3 times and manually average the results for an accurate evaluation of read speed per the hdparm man page.
gnome-disks
There is a graphical benchmark called gnome-disks contained in the gnome-disk-utility package that will give min/max/ave reads along with average access time and a nice graphical display. This method is independent of partition alignment!
# gnome-disks
Users will need to navigate through the GUI to the benchmark button («More actions. ..» > «Benchmark Volume…»). Example
KDiskMark
kdiskmark is an HDD and SSD benchmark tool with a very friendly graphical user interface. KDiskMark with its presets and powerful GUI calls Flexible I/O Tester and handles the output to provide an easy to view and interpret comprehensive benchmark result.
systemd-analyze
$ systemd-analyze plot > boot.svg
Will plot a detailed graphic with the boot sequence: kernel time, userspace time, time taken by each service. Example
dd
The dd utility can be used to measure both reads and writes. This method is dependent on partition alignment! In other words, if you failed to properly align your partitions, this fact will be seen here since you are writing and reading to a mounted filesystem.
Note: This method requires the command to be executed from a mounted partition on the device of interest!
First, enter a directory on the SSD with at least 1.1 GB of free space (and one that obviously gives your user wrx permissions) and write a test file to measure write speeds and to give the device something to read:
$ dd if=/dev/zero of=/path/to/SSD/tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress
1024+0 records in 1024+0 records out v bytes (w MB, x MiB) copied, y s, z MB/s
Tip: See dd-benchmark for an explanation on the requirement to sync
and further related dd
options.
Next, clear the buffer-cache to accurately measure read speeds directly from the device:
# echo 3 > /proc/sys/vm/drop_caches $ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1024+0 records in 1024+0 records out v bytes (w MB, x MiB) copied, y s, z MB/s
Now that the last file is in the buffer, repeat the command to see the speed of the buffer-cache:
$ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1024+0 records in 1024+0 records out v bytes (w MB, x MiB) copied, y s, z MB/s
Note: One should run the above command 4-5 times and manually average the results for an accurate evaluation of the buffer read speed.
Finally, delete the temp file
$ rm tempfile
Note: Some SSD controllers have compression hardware, which may skew benchmark results. See https://www.pugetsystems.com/labs/articles/SSDs-Advertised-vs-Actual-Performance-179/
dcfldd
Dcfldd does not print the average speed in MB/s like good old dd does but with time you can work around that.
Time the run clearing the disk:
# time dcfldd if=/dev/zero of=/dev/sdX bs=4M
18944 blocks (75776Mb) written.dcfldd:: No space left of device real 16m17.033s user 0m0.377s sys 0m51.160s
Calculate MB/s by dividing the output of the dcfldd command by the time in seconds. For this example: 75776Mb / (16.4 min * 60) = 77.0 MB/s.
7z
7z benchmark command can be used to measure the CPU speed in MIPS and also to check RAM for errors. Just install p7zip and run the command below. More detailed information can be found at [1].
$ 7z b
peakperf
peakperf-gitAUR is a microbenchmark that achieves peak performance on x86_64 CPUs. Some issues may reduce the performance provided by your CPU, like CPU cooling. With peakperf you can check if your CPU provides the full power it is capable of doing.
You can calculate the performance (measured in GFLOP/s) you should get using your CPU (see [2]) and compare it with the performance that peakperf gives you. If both values are the same (or very similar), your CPU behaves as it should.
Note: Even though the goal of peakperf is to test the CPU, it is also a great way to test your cooling, since it will throttle your CPU to the limit.
cryptsetup
cryptsetup benchmark can be used to measure the speed of various cryptographic algorithms (ciphers).
$ cryptsetup benchmark
Software suites
Bonnie++
bonnie++ is a C++ rewrite of the original Bonnie benchmarking suite is aimed at performing several tests of hard drive and filesystem performance.
Warning: By default, bonnie++ write at least twice the RAM size on disk. If you want to preserve your SSD, use non default option.
Note: The original Bonnie suite does not appear to have been released under the GPL or other compatible license.
See also:
- Author’s site
- Wikipedia:Bonnie++
IOzone
IOzone is useful for performing a broad filesystem analysis of a vendor’s computer platform.
This program is available in the AUR: iozoneAUR.
See also BBS Article: iozone to evaluate I/O schedulers… results NOT what you’d expect!.
HardInfo
hardinfo-gitAUR can gather information about your system’s hardware and operating system, perform benchmarks, and generate printable reports either in HTML or in plain text formats. HardInfo performs CPU and FPU benchmarks and has a very clean GTK-based interface.
Phoronix Test Suite
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available that provides an extensible framework for which new tests can be easily added. The software is designed to effectively carry out both qualitative and quantitative benchmarks in a clean, reproducible, and easy-to-use manner.
The Phoronix Test Suite is based upon the extensive testing and internal tools developed by Phoronix.com since 2004 along with support from leading tier-one computer hardware and software vendors. This software is open-source and licensed under the GNU GPLv3.
Originally developed for automated Linux testing, support to the Phoronix Test Suite has since been added for OpenSolaris, Apple macOS, Microsoft Windows, and BSD operating systems. The Phoronix Test Suite consists of a lightweight processing core (pts-core) with each benchmark consisting of an XML-based profile and related resource scripts. The process from the benchmark installation, to the actual benchmarking, to the parsing of important hardware and software components is heavily automated and completely repeatable, asking users only for confirmation of actions.
The Phoronix Test Suite interfaces with OpenBenchmarking.org as a collaborative web platform for the centralized storage of test results, sharing of test profiles and results, advanced analytical features, and other functionality. Phoromatic is an enterprise component to orchestrate test execution across multiple systems with remote management capabilities.
This suite can be installed with the package phoronix-test-suiteAUR. There is also a developmental version available with phoronix-test-suite-gitAUR.
S
S, an I/O Benchmark Suite, is a small collection of scripts to measure storage I/O performance.
It has been developed by algodev, the team behind the BFQ scheduler.
Download or clone the project, install its dependencies and run it as root (privileges needed to change disk scheduler).
s-tui
s-tui is an aesthetically pleasing and useful curses-style interface that shows graphs of CPU frequency, utilization, temperature, power consumption and has a built in stress tester.
Flash media
Performance characteristics can be measured quantitatively using iozoneAUR. Sustained read and write values can, but often do not, correlate to real-world use cases of I/O heavy operations, such as unpacking and writing a number of files on a system update. A relevant metric to consider in these cases is the random write speed for small files.
The example invocation tests a 10M file using a 4k record size:
$ iozone -e -I -a -s 10M -r 4k -i 0 -i 1 -i 2
... random random kB reclen write rewrite read reread read write 10240 4 661 649 5802 5822 3892 624
Note: Test values are reported in KB/s.
Graphics
Basemark GPU
Basemark GPU is an evaluation tool to analyze and measure graphics API (OpenGL 4.5, OpenGL ES 3.1, Vulkan and Microsoft DirectX 12) performance across mobile and desktop platforms. Basemark GPU targets both Desktop and Mobile platforms by providing both High Quality and Medium Quality modes. The High-Quality mode addresses cutting-edge Desktop workloads while the Medium Quality mode addresses equivalent Mobile workloads.
If you are using AMD GPU and have several vulkan implementations installed simultaneously, in the Test page you will see them as separate GPUs in Graphics Device dropdown list.
Basemark GPU is available in basemarkAUR package.
Blender-benchmark
Blender-benchmark will gather information about the system, such as operating system, RAM, graphics cards, CPU model, as well as information about the performance of the system during the execution of the benchmark. After that, the user will be able to share the result online on the Blender Open Data platform, or to save the data locally.
Blender-benchmark is available in the blender-benchmarkAUR package.
GFXBench
GFXBench is a high-end graphics benchmark that measures mobile and desktop performance with next-gen graphics features across all platforms. As a true cross-API benchmark, GFXBench supports all the industry-standard and vendor-specific APIs including OpenGL, OpenGL ES, Vulkan, Metal, DirectX/Direct3D and DX12.
Vulkan API tests are currently under development and are only available for their corporate partners.
GFXBench is available in gfxbenchAUR package.
glmark2
glmark2 is an OpenGL 2.0 and ES 2.0 benchmark.
glmark2 is available in glmark2 package.
glxgears
glxgears is a popular OpenGL test that renders a very simple OpenGL performance and outputs the frame rate. Though glxgears can be useful as a test of direct rendering capabilities of the graphics driver, it is an outdated tool that is not representative of the current state of GNU/Linux graphics and overall OpenGL possibilities. glxgears only tests a small segment of the OpenGL capabilities that might be used in a game. Performance increases noted in glxgears will not necessarily be realized in any given game. See here for more information.
glxgears can be installed via the mesa-utils and lib32-mesa-utils (for multilib) packages.
GpuTest
GpuTest is a cross-platform (Windows, Linux and Max OS X) GPU stress test and OpenGL benchmark. GpuTest comes with several GPU tests including some popular ones from Windows’world (FurMark or TessMark).
GpuTest is available in gputestAUR package.
intel-gpu-tools
intel-gpu-tools gives you some top-like info for the integrated GPU. This can be quite useful in diagnosing GPU acceleration issues.
To use it, install the intel-gpu-tools package.
MangoHud
See MangoHud.
Unigine Engine
Unigine corp. has produced several modern OpenGL benchmarks based on their graphics engine with features such as:
- Per-pixel dynamic lighting
- Normal & parallax occlusion mapping
- 64-bit HDR rendering
- Volumetric fog and light
- Powerful particle systems: fire, smoke, explosions
- Extensible set of shaders (GLSL / HLSL)
- Post-processing: depth of field, refraction, glow, blurring, color correction and much more.
Unigine benchmarks have found recent usage by those looking to overclock their systems. Heaven especially has been used for initial stability testing of overclocks.
These benchmarks can be found in AUR:
- unigine-sanctuaryAUR (2007)
- unigine-tropicsAUR (2008)
- unigine-heavenAUR (2009)
- unigine-valleyAUR (2013)
- unigine-superpositionAUR (2017)
vkmark
vkmark is an extensible Vulkan benchmarking suite with targeted, configurable scenes.
vkmark is available in vkmark package.
See also
- Linux Benchmarking Homepage
- Phoronix.com
- Interbench Homepage
- Unigine.com
FrameView Performance and Power Benchmarking App: Free Download Available Now | GeForce News
By Andrew Burnes on September 04, 2020
|
Featured Stories
FrameView
Hardware
This article has been updated October 20, 2022 with the latest updates and information regarding FrameView 1. 4
Graphics cards are investments, bought on the promise of delivering excellent performance in that card’s class for at least 2 to 3 years. It’s therefore important that the benchmarks of these cards, which you’re likely using as research, are accurate and cover all the bases, showing frame rates, frame times, power usage, performance per watt, and more.
To date, no single tool or app has accurately delivered these results, which is why we’ve created FrameView, an all-in-one benchmarking app that you can download and use for free.
FrameView can capture data from all major APIs and virtually all games thanks to support for DirectX 9, 10, 11 and 12, OpenGL, Vulkan, and Universal Windows Platform (UWP) applications.
It has a minimal, lightweight impact on performance while benchmarking, its integrated overlay enables you to view performance and stats during gameplay. It’s vendor agnostic, too -enabling the collection of detailed, comparative data. One exception: AMD’s GPU power consumption API reports a value in-between chip power and board power, rather than the true values.
In short, if you want to view or collect real-time GPU performance and power data in games, FrameView delivers more of it with a higher degree of accuracy than many other tools and methods, making it the go-to app for benchmarking.
FrameView In-Depth
If you wish to know more about the metrics FrameView measures, and why they’re important for your gaming experience, keep reading.
Performance Testing
All performance monitoring applications use system resources, affecting the recorded results. With our army of expert engineers we’ve been able to greatly reduce the cost of stat tracking and recording, giving you more accurate results.
Our configurable overlay shows several performance metrics:
- Rendered Frame rate: FrameView will measure and report timestamps at the beginning of the graphics pipeline. This metric indicates the smoothness of the animation delivered to the GPU
- Displayed Frame rate: FrameView will measure and report timestamps at the end of the graphics pipeline. This metric provides an indicator of what the user actually sees displayed on screen
- 90th, 95th and 99th Percentile Frame rates: Reviewers typically use 99th percentile calculations to determine whether a game’s minimum frame rate or frame time is close to its average.
If the 99th percentile frame rates are close to the average, the game is smooth and consistent. If they’re not, the game’s frame rate is likely inconsistent, resulting in micro-stutter during gameplay, negatively affecting your experience - Rendering Present Latency: Rendering Present latency is the time from when present was called on the render thread to when the present was actually completed by the GPU. This measurement includes the driver’s latency, how long the command sat in the queue waiting for the GPU to render, and the actual GPU render time. Rendering latency can help determine how responsive a game can feel to an end user.
Pressing the benchmark hotkey assigned in the settings begins data capture for the predefined number of seconds, saving these and other stats to file. To maximize performance, the overlay is hidden while the benchmark is conducted.
Power Testing
Power efficiency is of critical importance in the world of GPUs. With better power efficiency you generate less heat, which means the GPU can be cranked up to higher levels, resulting in higher clock speeds, and giving the GPU’s designers the thermal and power capacity to add more Ray Tracing Cores and other doodads to the chip.
Power efficiency comes from all aspects of a graphics card’s design, not just the size of the process node it was built on. In the case of GeForce RTX graphics cards, numerous industry-firsts enable unprecedented performance efficiency on a 12nm process node, that is still to date more efficient than any other architecture. And of course, with increased performance efficiency comes better overall performance-per-watt, giving you more frames for every watt of power.
Altogether, this means you get a faster GPU that operates at lower temperatures, enabling quieter fan speeds, ensuring your gaming isn’t drowned out by fan noise. And when you’re not gaming, the GPU has quieter or even idle
operation,
and emits less heat, which we can all appreciate on hot summer days.
In-game, the power consumption of the GPU chip, in watts, will be shown as CHP.
And beneath, the total power consumption of the chip and board will be displayed as TGP, minus the power consumption of any device connected to a GeForce RTX USB-C output, such as a phone charger.
PPW, meanwhile, represents the perf per watt every 100 milliseconds, calculated as F/J = (F/S) / (J/S):
F/J = Frame Rate ÷ Joules
One Joule: equivalent of one watt of power radiated or dissipated for one second
(F/S) = Frames per second (FPS)
(J/S) = Watts per second (TGP)
Performance per Watt = FPS ÷ TGP
If you’d prefer to know the performance per watt using CHP chip power, the data is available in the saved log files, telling you the level of performance efficiency across your entire benchmark.
Data Analysis
When you initiate a FrameView benchmark, over 40 metrics are collected and saved using a variety of methods including PresentMon, an open source tool that tracks performance events in Windows. By integrating these low level data collectors with FrameView, anyone can now use it with a single press of their benchmarking key.
With the FrameView 1.4 installer, we have included an Excel Template with embedded VBA scripts to make analyzing frameview CSV log files fast and easy. Additionally, a Summary File is saved to help keep track of your high level stats per benchmark and a reference to each particular log. No more having to rerun benchmarks because you forgot to label the results file!
Using the Excel Analysis Template, you can get the charts below by just clicking a button and browsing to the Log File of choice.
Want To Learn More?
If you’re interested in learning more about the topics discussed here, and want to get detailed info on how to use all of FrameView’s analytical tools, download our comprehensive User Guide, and our Power Primer.
FrameView: Available Now, For Free
To get FrameView, simply head here and click the big ‘ol download button. If you want to see what’s new with FrameView, check out the release notes page for the latest on new features, support, and improvements.
If you have any feedback regarding FrameView, or feature suggestions, let us know in the comments below.
How to check processor and core speed in Windows 10
Windows 10 makes it easy to check the hardware information on your computer. Below you will find the steps to check the speed of the processor and cores in Windows 10.
Contents
- Checking the speed of the processor and core
- 1. Find out the speed of the processor and core using Task Manager
- 2. Find out the speed of the processor and core using parameters
- 3. Find out the processor speed and number of cores using the System Information tool
Processor and Core Speed Test
Every laptop and desktop computer contains a processor, also known as the CPU or “central processing unit”.
The processor handles all of the main system instructions on the computer, such as handling keyboard and mouse input and running applications on the computer.
Most computers have a processor made by Intel or AMD, while some computers also use mobile processors designed by ARM or Apple.
The processors in modern desktop and laptop computers have multiple cores that work as a single instruction to process multiple instructions.
When you check the processor information of a computer, you may find that the processor is described as a dual-core processor (two cores) or a quad-core processor (four cores).
In addition to the number of cores, you will also be able to see information about the make, model, speed, and integrated GPU (if any) in the processor.
1. Find out the processor and core speed using the Task Manager
The Task Manager in Windows 10 provides detailed information about the processor installed in your computer, including the processor speed and the number of cores in the processor.
1. Right-click the Start button and select Task Manager.
2. On the Task Manager screen, go to the Performance tab > click CPU in the left pane. On the right panel, you will be able to see the processor speed and the number of cores.
As you can see in the picture above, this computer has a dual-core Intel Core i5-7200u (7th generation) processor.
2. Find out the processor and core speed using settings
An easy way to find information about the processor installed in your computer is to go to the System tab on the Windows 10 settings screen.
1. Open Settings and go to the System tab .
2. On the next screen, scroll down and click About in the left pane. On the right panel, you will be able to see the processor brand, model, and speed.
Once you know the make and model of the processor, you can get the number of cores and other information by typing «Intel Core i5-7200» into Google.
3. Find out the processor speed and number of cores using the System Information tool
Another way to find out the processor speed and number of cores is to use the built-in Microsoft System Information tool that is included with your computer.
1. Right-click the Start button and select Run.
2. In the Run window, type msinfo32.exe and click OK.
3. On the system information screen, scroll down in the right pane until you see information about the processor on your computer.
How to test GPU (video card) speed in Linux
How to test GPU (video card) speed in Linux
- Post author:ViGo
- Post category:Instructions
- Entry published:2014-08-31
Linux isn’t famous for its gaming capabilities and features, and it’s only natural that there aren’t many GPU performance testing tools with which users can test their graphics hardware.
However, there are several tests that will help you pinpoint various aspects of your GPU’s performance. They are very important for getting solid conclusions, technical and numerical comparisons, or just being curious about how (well) things work. Technically speaking, all available GPU testing tools on Linux are only tested under the OpenGL renderer. Although your GPU may be compatible with some versions of Direct3D, it is not possible to test this renderer on Linux.
GLX-Gears
GLX gears is a popular OpenGL test that is included in the mesa-utils package. Install the package on Ubuntu with this command:
sudo apt-get install mesa-utils
You can invoke it by typing «glxgears» on a terminal.
glxgears
This will open a window with an OpenGL rendering of a simple arrangement of three rotating gears. The frame rate is measured and printed on the terminal every five seconds. This tool is very old, very simple, and only tests a small part of modern OpenGL features. In the old days, it was used to determine if a proprietary driver is installed and working properly, since open source drivers performed horribly enough to be completely noticeable during this test. Currently, you won’t notice any difference between the two (in glxgears).
GL Mark 2
GL mark is a much richer benchmarking tool developed by the kind people behind the Linaro distribution. Unlike glxgears, glmark offers a rich set of tests that deal with various aspects of your graphics unit’s performance (buffering, rendering, lighting, texturing, etc.), allowing for a much more comprehensive and meaningful test. Each test is run for 10 seconds and the frame rate is calculated individually. As a result, users receive a performance score based on all previous tests. I like this tool for its simplicity and flawless performance. You can find it as a prepackaged package in most distributions under the name «glmark2». Install it with:
sudo apt-get install glmark2
Once installed, you can run it by typing «glmark2» in a terminal.