Puntuación de ejecución multiplataforma de Unixbench

UnixBench es una herramienta de prueba de rendimiento en sistemas similares a Unix (Unix, BSD, Linux), una herramienta de código abierto, ampliamente utilizada para probar el rendimiento de los hosts del sistema Linux. Los principales elementos de prueba de UnixBench son: llamada al sistema, lectura y escritura, proceso, prueba gráfica, 2D, 3D, canalización, cálculo, biblioteca C y otro rendimiento de referencia del sistema para proporcionar datos de prueba

Elementos de prueba

  • Dhrystone 2 usando variables de registro: este elemento se usa para probar el manejo de cadenas. Debido a que no hay operación de punto flotante, es muy popular en el diseño de hardware y software, opciones de compilador y enlazador, y optimización de código., El impacto en la memoria caché ( memoria caché), estados de espera (estados de espera), tipos de datos enteros (tipos de datos enteros)
  • Piedra de afilar de doble precisión: este artículo prueba la velocidad y la eficiencia de las operaciones de punto flotante. Esta prueba incluye varios módulos, cada uno de los cuales incluye un conjunto de operaciones para la computación científica. Una amplia gama de funciones C: sin, cos, sqrt, exp, log se utilizan para operaciones matemáticas de punto flotante y entero, acceso a matrices, bifurcaciones condicionales y llamadas a programas. Esta prueba prueba las operaciones aritméticas de números enteros y de coma flotante.
  • Rendimiento de ejecución: esta prueba examina la cantidad de llamadas al sistema de ejecución que se pueden ejecutar por segundo. La llamada al sistema execl es un miembro de la familia de funciones exec. Es la parte frontal de la función execve () como otros comandos similares
  • Copia de archivo: prueba la velocidad de transferencia de datos de un archivo a otro. Cada prueba utiliza un búfer de tamaño diferente. Esta prueba cuenta el número de operaciones de lectura, escritura y copia de archivos dentro del tiempo especificado (el valor predeterminado es 10 s) para las operaciones de lectura, escritura y copia de archivos.
  • Rendimiento de la tubería: La tubería es la forma más fácil de comunicarse entre procesos. El rendimiento de la tubería aquí se refiere a la cantidad de veces que un proceso puede escribir 512 bytes de datos en una tubería en un segundo y luego volver a leerlo. Cabe señalar que el rendimiento de la tubería no tiene una existencia real correspondiente en la programación real
  • Cambio de contexto basado en canalizaciones: prueba la cantidad de veces que dos procesos (cada segundo) intercambian un entero creciente a través de una canalización. Este punto es muy similar a algunas aplicaciones en la programación real Este programa de prueba primero crea un proceso hijo y luego realiza una transmisión de canalización bidireccional con este proceso hijo.
  • Creación de procesos: pruebe la cantidad de veces que un proceso puede crear un proceso secundario y luego retirar el proceso secundario por segundo (el proceso secundario debe salir inmediatamente). El enfoque de la creación de procesos es la creación y asignación de memoria de un nuevo bloque de control de procesos (bloque de control de procesos), es decir, un enfoque nítido en el ancho de banda de la memoria. En términos generales, esta prueba se utiliza para comparar diferentes implementaciones de la llamada al sistema creada por el proceso del sistema operativo.
  • Sobrecarga de llamadas al sistema: pruebe el costo de ingresar y salir del kernel del sistema operativo, es decir, el costo de una llamada al sistema. Utiliza un pequeño programa que llama repetidamente a la función getpid para lograr este objetivo.
  • Secuencias de comandos de shell: pruebe la cantidad de veces que un proceso puede iniciar n copias de una secuencia de comandos de shell simultáneamente en un segundo, n generalmente toma el valor 1, 2, 4, 8. (Saco 1, 8 en la prueba). Este script realiza una serie de operaciones de transformación en un archivo de datos (transformación)

descargar

Puede obtener todo el código fuente en GitHub, compílelo usted mismo

git clone https://github.com/kdlucas/byte-unixbench.git

Compilar

Procesador ARM

sed -i 's/-mtune=native//' Makefile
sed -i 's/-march=native//' Makefile
sed -i 's/$field eq "bogomips"/$field eq "bogomips" or $field eq "BogoMIPS" /g' Run

Instrucciones de ejecución de enteros de varios núcleos de la CPU:

./Run -c 4 dhry2reg

Instrucciones de ejecución de punto flotante de varios núcleos de la CPU:

./Run -c 4 whetstone

Procesador X86

make

El resto de las instrucciones son las mismas que las anteriores.

Secuencia de comandos de un clic

Examen de preparación:

yum -y install wget       // for CentOS
apt-get -y install wget   // for Debian / Ubuntu

método de prueba:

wget --no-check-certificate https://github.com/zq/unixbench/raw/master/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

Supongo que te gusta

Origin blog.csdn.net/kelxLZ/article/details/111881731
Recomendado
Clasificación