Welcome to The TOFFEE Project :: TrueBench
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|
- 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 these videos below:
Join :: Facebook Group
Join a class (course):