TrueBench is an unique open-source benchmarking system in which the core system performance and efficiency parameters are measured at extreme
high resolution in the order of several million/billion µ-seconds for a given specific task. TrueBench can be used to measure specific system performance
of user-space application performance in a systems software point-of-view. With this technique you can isolate multi-core CPU performance,
multi-threading CPU performance and derive a precise conclusion about the CPU's true potential. TrueBench is a part of
The TOFFEE Project research.
TrueBench is bound by
TrueBench is NOT bound by
Memory<>CPU interface (memory bandwidth)
Memory frequency and latency
GCC compiler optimization
64-bit vs 32-bit architecture
CPU multiple cores
Secondary storage Technology (SSD/HDD)
evaluate CPU's current generation versus previous generation architecture
multi-platform(x86 32-bit, x86_64, ARM, MIPS)
light-weight Linux user-space app which restricts the choice of OS for precise measurements
high resolution benchmarking technique
precise combination of instructions for over a trillion iterations per test
open-source - can be compiled for any Linux based hardware
building low-latency high performance networking devices
embedded/SoC cpu (platform) evaluation
server and datacenter hardware evalation
new product design/architecture evalation
scientific applications (such as HPC, Super-Computers, etc)
TrueBench does not benchmark all CPU instructions/logic and CPU cores? TrueBench is strictly single dimension benchmarking system.
We need to test the most common CPU instructions which are commonly used. And this way we can compare with other hardware architectures. And we
need to isolate the multi-dimension aspect of CPU cores. TrueBench is a very simple code but still takes long time to complete execution.
A CPU(system) need to reduce the instruction processing latency and improve throughput.
Which is what precisely measured in TrueBench.
Multi-OS support? Multi-OS support will contaminate the results. Hence it is strictly supported only on Linux platform.
How reliable is TrueBench? If you are a systems engineer you know that no test in this world is perfect.
But if we consider an end-user experience of a given product(or device) for a specific task(an app). Then we need a mechanism to compare
multiple hardware devices and available multiple hardware platforms (x86, ARM, MIPS, etc). The code is the same. Unfortunately during
cross-compilation things will change and on top kernel tuning matters. But the point remains clear. For this set amount of load/task how
much time will it take to complete on that device. For the end-user the user-experience matters he/she may little care about the hardware
platform in most of the cases.
To learn more about CPU performance characteristics for a given user-space application (Linux process - a process without threads and process with threads) kindly watch the video below: