跳到主要内容

Rockchip Linux Benchmark KPI

:::info 文档信息

文档标识:RK-CS-YF-375 · 发布版本:V1.1.0 · 发布日期:2021-04-01 · 页数:9 · 语言:英文

原始文档:Rockchip_Introduction_Linux_Benchmark_KPI_EN.pdf

:::

章节大纲​

  • Rockchip Linux Benchmark KPI(P1)
    • Glmark2(P4)
    • UnixBench(P4)
    • LMbench(P7)

在线预览​

若预览无法显示,请直接下载 PDF 后用本地阅读器打开。


1. Glmark2​

glmark2 is an OpenGL 2.0 and ES 2.0 benchmark.

The scores of Glmark2's fullscreen and offscreen mode of each chip are shown in the table below:

ItemRK3399/RK3399ProRK3288RK3326/PX30RK3566/RK3568
Full Screen563730183
Off Screen823544301687
GPU TypeMali-T864Mali-T764Mali-G31MP2Mali-G52

The resolution of test screen on different chip platforms is as follows:

ItemRK3399/RK3399ProRK3288RK3326/PX30RK3568/RK3566
Screen resolutionEDP:1536x2048p60EDP:1536x2048p60HDMI:1920x1080p60MIPI:1920x1080p60

The performance of fullscreen mode is related to the screen resolution or ddr type etc. , so the actual performance can refer to the score of off screen mode.

2. UnixBench​

The purpose of UnixBench is to provide a basic indicator of the performance of a Unix-like system; hence, multiple tests are used to test various aspects of the system's performance. This is designed to allow you to assess:

the performance of your system when running a single task the performance of your system when running multiple tasks the gain from your system's implementation of parallel processing

UnixBench consists of a number of individual tests that are targeted at specific areas. Here is a summary of what each test does:

Dhrystone

Developed by Reinhold Weicker in 1984. This benchmark is used to measure and compare the performance of computers. The test focuses on string handling, as there are no floating point operations. It is heavily influenced by hardware and software design, compiler and linker options, code optimization, cache memory, wait states, and integer data types.

Whetstone

This test measures the speed and efficiency of floating-point operations. This test contains several modules that are meant to represent a mix of operations typically performed in scientific applications. A wide variety of C functions including sin, cos, sqrt, exp, and log are used as well as integer and floating-point math operations, array accesses, conditional branches, and procedure calls. This test measure both integer and floating-point arithmetic. execl Throughput

This test measures the number of execl calls that can be performed per second. execl is part of the exec family of functions that replaces the current process image with a new process image. It and many other similar commands are front ends for the function execve().

File Copy

This measures the rate at which data can be transferred from one file to another, using various buffer sizes. The file read, write and copy tests capture the number of characters that can be written, read and copied in a specified time (default is 10 seconds).

Pipe Throughput

A pipe is the simplest form of communication between processes. Pipe throughput is the number of times (per second) a process can write 512 bytes to a pipe and read them back. The pipe throughput test has no real counterpart in real-world programming.

Pipe-based Context Switching

This test measures the number of times two processes can exchange an increasing integer through a pipe. The pipe-based context switching test is more like a real-world application. The test program spawns a child process with which it carries on a bi-directional pipe conversation.

Process Creation

This test measure the number of times a process can fork and reap a child that immediately exits. Process creation refers to actually creating process control blocks and memory allocations for new processes, so this applies directly to memory bandwidth. Typically, this benchmark would be used to compare various implementations of operating system process creation calls.

Shell Scripts

The shells scripts test measures the number of times per minute a process can start and reap a set of one, two, four and eight concurrent copies of a shell scripts where the shell script applies a series of transformation to a data file.

System Call Overhead

This estimates the cost of entering and leaving the operating system kernel, i.e., the overhead for performing a system call. It consists of a simple program repeatedly calling the getpid (which returns the process id of the calling process) system call. The time to execute such calls is used to estimate the cost of entering and exiting the kernel.

Graphical Tests

Both 2D and 3D graphical tests are provided; at the moment, the 3D suite in particular is very limited, consisting of the ubgears program. These tests are intended to provide a very rough idea of the system's 2D and 3D graphics performance. Bear in mind, of course, that the reported performance will depend not only on hardware, but on whether your system has appropriate drivers for it.

The reference scores of test items for each chip are as follows:

the performance of your system when running a single task

ItemRK3399/RK3399ProRK3288RK3326/PX30RK3566RK3568
Dhrystone 2 using register variables19191210.410626086.65704897.112332588.013176039.3
Double-Precision Whetstone3303.51718.91565.22965.93164.5
Execl Throughput2730.81538.1787.91483.61703.0
File Copy 1024 bufsize 2000 maxblocks263262.3163001.5125333.2166135.4175490.6
File Copy 256 bufsize 500 maxblocks98335.850635.137871.948956.551574.7
File Copy 4096 bufsize 8000 maxblocks677993.2384632.9321189.7440209.9461129.3
Pipe Throughput775302.3357578.5300305.5521804.1557997.0
Pipe-based Context Switching87345.354247.537434.551766.253873.8
Process Creation4274.23512.12086.03782.44041.7
Shell Scripts (1 concurrent)2944.02973.31474.22352.02817.2
Shell Scripts (8 concurrent)832.4703.2431.7567.3675.6
System Call Overhead721899.8624614.1568868.6783414.7836985.7
System Benchmarks Index Score654.7421.7290.6456.9497.3

the performance of your system when running multiple tasks

ItemRK3399/RK3399ProRK3288RK3326/PX30RK3566RK3568
Dhrystone 2 using register variables61892645.441527276.322821903.247931915.451737187.8
Double-Precision Whetstone13192.26870.16265.711545.612431.5
Execl Throughput6638.94127.02449.43272.13951.1
File Copy 1024 bufsize 2000 maxblocks253903.6265838.2194293.5236042.5246968.0
File Copy 256 bufsize 500 maxblocks74647.074156.454107.465182.967873.4
File Copy 4096 bufsize 8000 maxblocks715699.5709343.4565091.8639035.4700693.2
Pipe Throughput3159789.01323176.01191104.72031168.72191846.5
Pipe-based Context Switching298324.6134686.9154652.2202912.5212649.7
Process Creation11834.77412.85183.17036.57932.7
Shell Scripts (1 concurrent)7420.05710.93587.94613.85473.0
Shell Scripts (8 concurrent)952.5744.6477.4593.1707.7
System Call Overhead2514699.72392234.72206337.32815382.83028273.6
System Benchmarks Index Score1402.8989.5746.41039.11146.5

3. LMbench​

lmbench is a suite of simple, portable, ANSI/C microbenchmarks for UNIX/POSIX. In general, it measures two key features: latency and bandwidth.

Things need to focus on LMbench include the following:

Latency benchmarks

Context switching Networking: connection establishment, pipe, TCP, UDP, and RPC hot potato File system creates and deletes Process Creation Signal handling System call overhead Memory read latency Bandwidth benchmarks. Cached file read Memory copy (bcopy) Memory read Memory write Pipe TCP Miscellanious

Processor clock rate calculation the performance of your system when running latency benchmarks. (microseconds)

ItemRK3399/RK3399ProRK3288RK3326/PX30RK3566RK3568
Simple syscall0.22280.21260.21760.17980.1681
Simple read0.33850.59890.69650.47480.4453
Simple write0.28280.37770.56370.33970.3255
Simple stat1.30412.98364.15382.27212.1151
Simple fstat0.34560.65270.65810.50400.4721
Simple open/close3.06335.25147.78926.38185.7568
Signal handler installation0.41030.65930.68820.43840.4116
Signal handler overhead1.90964.38944.50984.19823.9874
Pipe latency14.362623.809136.115828.365326.4768
AF UNIX sock _ stream latency19.010621.959350.018248.210536.8146
Process fork+exit254.8182390.5714668.1250693.1111632.1250
Process fork+execve281.0526417.2308754.7143752.3750448.5833
UDP latency28.846553.395264.435445.688668.6856
TCP latency36.138465.497377.546257.778988.9926
STREAM2 sum latency (nanoseconds)1.893.355.962.412.23

the performance of your system when running bandwidth benchmarks. (MB/sec)

ItemRK3399/RK3399ProRK3288RK3326/PX30RK3566RK3568
AF UNIX sock _ stream bandwidth3751.282545.441181.902178.341759.47
Pipe bandwidth1390.20804.06805.99894.721041.33
STREAM2 sum bandwidth4237.372385.571342.323320.233595.10