GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo comparar comandos y programas de Linux desde la línea de comandos

Hace un tiempo, he compartido algunas alternativas a 'top', la utilidad de línea de comandos . Algunos de los usuarios me preguntaron cuál de esas herramientas es la mejor y sobre qué base (como características, colaboradores, años activos, solicitudes de página, etc.) comparé esas herramientas. También me pidieron que compartiera los resultados de la evaluación comparativa, si tengo alguno. Desafortunadamente, no sabía cómo comparar programas en ese momento. Mientras buscaba algunas herramientas de evaluación comparativa simples y fáciles de usar para comparar los programas de Linux, me topé con dos utilidades llamadas 'Bench' y 'Hiperfina' . Estas son herramientas de línea de comandos simples y fáciles de usar para comparar comandos y programas de Linux en sistemas Linux y similares a Unix.

1. Compare los comandos y programas de Linux desde la línea de comandos con Bench Tool

El 'Banco' La utilidad compara uno o más comandos/programas dados usando el criterio de Haskell biblioteca y muestra las estadísticas de salida en un formato fácil de entender. Esta herramienta puede ser útil cuando necesite comparar programas similares en función del resultado de la evaluación comparativa. También podemos exportar los resultados a formato HTML o CSV o salida con plantilla.

1.1. Instalar Bench Utility en Linux

La utilidad de banco se puede instalar en tres métodos.

1. Usando Linuxbrew

Podemos instalar la utilidad Bench usando el administrador de paquetes Linuxbrew. Si aún no ha instalado Linuxbrew, consulte el siguiente enlace.

  • Linuxbrew:un administrador de paquetes común para Linux y Mac OS X

Después de instalar Linuxbrew, ejecute el siguiente comando para instalar Bench:

$ brew install bench

2. Usando la herramienta de pila de Haskell

Primero, instale Haskell como se describe en el siguiente enlace.

  • Introducción al lenguaje de programación Haskell

Y luego, ejecute los siguientes comandos para instalar Bench.

$ stack setup
$ stack install bench

La 'pila' instalará el banco en ~/.local/bin o algo similar. Asegúrese de que el directorio de instalación esté en su ruta de búsqueda de ejecutables antes de usar la herramienta de banco. Se le recordará que haga esto incluso si lo olvidó.

3. Usando el administrador de paquetes Nix

Otra forma de instalar Bench es usando Nix gerente de empaquetación. Instale Nix como se muestra en el siguiente enlace.

  • Nix:un potente administrador de paquetes para Linux y Unix

Después de instalar Nix, instale la herramienta Bench usando el comando:

$ nix-env -i bench

1.2. Benchmark de comandos y programas de Linux usando Bench

Comparemos el resultado del comando 'ls -al'. Para hacerlo, ejecute:

$ bench 'ls -al'

Salida de muestra:

Comando de referencia 'ls'

Debe citar los comandos cuando use banderas/opciones con ellos.

Del mismo modo, puede comparar cualquier programa instalado en su sistema. Los siguientes comandos muestran el resultado de la evaluación comparativa de los programas 'htop' y 'ptop'.

$ bench htop
$ bench ptop

Comparar los programas htop y ptop

La herramienta Bench también puede comparar varios programas a la vez. Aquí está el resultado de la evaluación comparativa de los programas ls, htop, ptop.

$ bench ls htop ptop

Salida de muestra:

Compare varios programas

También podemos exportar el resultado de referencia a un HTML como el siguiente.

$ bench htop --output example.html

Para exportar el resultado a CSV, simplemente ejecute:

$ bench htop --csv FILE

Ver sección de ayuda:

$ bench --help

2. Compare los comandos y programas de Linux desde la línea de comandos con Hyperfine

Hiperfina es otra herramienta de evaluación comparativa de línea de comandos inspirada en la herramienta 'Banco' que acabamos de discutir anteriormente. Es un programa de evaluación comparativa gratuito, de código abierto y multiplataforma y está escrito en Rust. lenguaje de programación. Tiene pocas funciones adicionales en comparación con la herramienta Bench, como se indica a continuación.

  • Análisis estadístico en varias ejecuciones.
  • Soporte para comandos de shell arbitrarios.
  • Comentarios constantes sobre el progreso de referencia y las estimaciones actuales.
  • Realice carreras de calentamiento antes del punto de referencia real.
  • Los comandos de borrado de caché se pueden configurar antes de cada ejecución de tiempo.
  • Detección estadística de valores atípicos.
  • Exporte resultados de referencia a varios formatos, como CSV, JSON, Markdown.
  • Puntos de referencia parametrizados.

2.1. Instalar Hyperfine en Linux

Podemos instalar Hyperfine usando cualquiera de los siguientes métodos.

1. Usando Linuxbrew

$ brew install hyperfine

2. Uso de carga

Asegúrese de haber instalado Rust como se describe en el siguiente enlace.

  • Instalar el lenguaje de programación Rust en Linux

Después de instalar Rust, ejecute el siguiente comando para instalar Hyperfine a través de Cargo:

$ cargo install hyperfine

3. Uso de los programas de ayuda de AUR

Hyperfine está disponible en AUR . Por lo tanto, puede instalarlo en sistemas basados ​​en Arch utilizando cualquier programa auxiliar, como YaY , como a continuación.

$ yay -S hyperfine

4. Descarga e instala los binarios

Hyperfine está disponible en binarios para sistemas basados ​​en Debian. Descargue el archivo binario .deb más reciente desde la página de lanzamientos e instálelo usando el administrador de paquetes 'dpkg'. Al momento de escribir esta guía, la última versión era 1.4.0 .

$ wget https://github.com/sharkdp/hyperfine/releases/download/v1.4.0/hyperfine_1.4.0_amd64.deb
$ sudo dpkg -i hyperfine_1.4.0_amd64.deb
$ sudo apt install -f

2.2. Benchmark de comandos y programas de Linux usando Hyperfine

Para ejecutar un punto de referencia usando Hyperfine, simplemente ejecútelo junto con el programa/comando como se muestra a continuación.

$ hyperfine 'ls -al'

Comandos de referencia usando hiperfino

Compare múltiples comandos/programas:

$ hyperfine htop ptop

Salida de muestra:

Compare múltiples programas usando hiperfino

Como puede ver al final del resultado, Hyperfine menciona:'htop se ejecutó 1,96 veces más rápido que ptop' , por lo que podemos concluir de inmediato que htop funciona mejor que Ptop. Esto lo ayudará a encontrar rápidamente qué programa funciona mejor al comparar varios programas. Sin embargo, no obtenemos este resultado detallado en la utilidad Bench.

Hyperfine determinará automáticamente el número de ejecuciones a realizar para cada comando. De forma predeterminada, realizará al menos 10 ejecuciones de evaluación comparativa . Si desea establecer el número mínimo de ejecuciones (Por ejemplo, 5 carreras), use el -m /--min-runs opción como la siguiente:

$ hyperfine --min-runs 5 htop ptop

O,

$ hyperfine -m 5 htop ptop

Del mismo modo, para realizar número máximo de ejecuciones para cada comando, el comando sería:

$ hyperfine --max-runs 5 htop ptop

O,

$ hyperfine -M 5 htop ptop

Incluso podemos realizar número exacto de carreras para cada comando usando el siguiente comando:

$ hyperfine -r 5 htop ptop

Como sabrá, si el tiempo de ejecución del programa está limitado por la E/S del disco, los resultados de la evaluación comparativa pueden verse fuertemente influenciados por los cachés del disco y si están fríos o tibios. Afortunadamente, Hyperfine tiene las opciones para realizar una cierta cantidad de ejecuciones de programas antes de realizar el punto de referencia real.

Para realizar NUM ejecuciones de calentamiento (por ejemplo, 3) antes del punto de referencia real, use -w // fuerte --warmup opción como la siguiente:

$ hyperfine --warmup 3 htop

Al igual que la utilidad Bench, Hyperfine también nos permite exportar los resultados de referencia a un archivo determinado. Podemos exportar los resultados a formatos CSV, JSON y Markdown.

Por ejemplo, para exportar los resultados en formato Markdown, use el siguiente comando:

$ hyperfine htop ptop --export-markdown <FILE-NAME>

Para obtener más opciones y detalles de uso, consulte la sección de ayuda:

$ hyperfine --help

Y, eso es todo por ahora. Si alguna vez ha estado en una situación en la que necesita comparar programas similares y alternativos, estas herramientas pueden ayudar.


Linux
  1. Cómo deshabilitar los comandos de apagado y reinicio en Linux

  2. Cómo controlar los reproductores multimedia desde la línea de comandos en Linux

  3. Cómo borrar la memoria caché del navegador web desde la línea de comandos en Linux

  4. Cómo usar los comandos strace y ltrace en Linux

  5. ¿Cómo usar sched_getaffinity y sched_setaffinity en Linux desde C?

Cómo encontrar la versión de Virtualbox desde la línea de comandos en Linux

Cómo compilar y ejecutar programas C, C++ en Linux

Cómo ejecutar juegos y programas de MS-DOS en Linux

Conectar y desconectar WiFi desde la línea de comandos en Linux

Cómo verificar si la GUI está instalada en Linux desde la línea de comandos

Cómo eliminar archivos y directorios usando la línea de comandos de Linux