Benchmark Testing¶
Benchmarking refers to the process of measuring and comparing the performance of a system using a set of standardized tests. Tracking the benchmark scores of a system provides an objective way of identifying how hardware or software components can affect the system performance. For example, the benchmark score obtained from a computer vision benchmark test may indicate whether a GPU upgrade is required.
PSYGIG Mobility IoT SDK includes a comprehensive set of benchmark tests designed to measure the performance of the most basic components and functions of an embedded system.
The Benchmark Testing API includes many features suitable for integration into embedded systems:
Works out-of-the-box; just run psybench
Full benchmark test suite:
CPU |
|
GPU |
|
RAM |
|
Storage devices |
|
Network |
|
Computer vision 1 |
- 1
Stereo matching, Optical flow, Visual odometry, SLAM, Object detection, Object classification, Object tracking, 3D estimation, Velocity estimation
Customizable and extensible benchmark tests
View comparison charts of your device with built-in integration in the PSYGIG data platform
Generate an HTML report from the benchmark results
Note
The Benchmark Testing feature is a work-in-progress. Please contact us if you are interested in beta-testing this feature.
Running the benchmark tests¶
Simply run the included standalone binary psybench
to run the full benchmark suite. For example:
psybench -f json -o benchmark-results.json
See psybench man page for a complete list of options.
Using PSYGIG SDK API¶
The Benchmark Testing API can be accessed by including a single header file
and linking the libpsyiage
shared library. See Advanced Setup - Building your application with libpsyiage for details.
Running the CPU Benchmark Test¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <psyiage/psyiagesdk.h>
int main(int argc, char **argv)
{
psyiage_handle pah; // handle to psyiage instance
/* ... Initialize code omitted for simplicity ... */
// Run CPU benchmark test
float cpuscore;
rc = psyiage_benchmark_run(pah, PSYIAGE_BENCH_CPU, cpuscore);
/* ... Cleanup code omitted for simplicity ... */
}
|
Sample benchmark JSON results¶
{
"BenchResults": {
"Type: "CPU"
"StartTime": 1547534065,
"StartTimeOfDay": "2019-01-15 15:34:25",
"TestDuration": 23,
"Score": 1843.8
}
}