GNU/Linux >> Tutoriels Linux >  >> Linux

Comment comparer les commandes et les programmes Linux à partir de la ligne de commande

Il y a quelque temps, j'ai partagé quelques alternatives à "top", l'utilitaire de ligne de commande . Certains utilisateurs m'ont demandé lequel de ces outils est le meilleur et sur quelle base (comme les fonctionnalités, les contributeurs, les années d'activité, les demandes de pages, etc.) j'ai comparé ces outils. Ils m'ont également demandé de partager les résultats de l'analyse comparative si j'en ai. Malheureusement, je ne savais pas comment évaluer les programmes à l'époque. En cherchant des outils d'analyse comparative simples et faciles à utiliser pour comparer les programmes Linux, je suis tombé sur deux utilitaires nommés 'Bench' et 'Hyperfin' . Ce sont des outils de ligne de commande simples et faciles à utiliser pour évaluer les commandes et les programmes Linux sur les systèmes Linux et Unix.

1. Comparez les commandes et les programmes Linux à partir de la ligne de commande à l'aide de Bench Tool

Le 'Banc' l'utilitaire compare une ou plusieurs commandes/programmes donnés en utilisant le critère de Haskell bibliothèque et affiche les statistiques de sortie dans un format facile à comprendre. Cet outil peut être utile lorsque vous devez comparer des programmes similaires en fonction du résultat de l'analyse comparative. Nous pouvons également exporter les résultats au format HTML ou CSV ou une sortie basée sur un modèle.

1.1. Installer l'utilitaire Bench sous Linux

L'utilitaire bench peut être installé selon trois méthodes.

1. Utilisation de Linuxbrew

Nous pouvons installer l'utilitaire Bench à l'aide du gestionnaire de packages Linuxbrew. Si vous n'avez pas encore installé Linuxbrew, consultez le lien suivant.

  • Linuxbrew :un gestionnaire de packages commun pour Linux et Mac OS X

Après avoir installé Linuxbrew, exécutez la commande suivante pour installer Bench :

$ brew install bench

2. Utilisation de l'outil de pile de Haskell

Tout d'abord, installez Haskell comme décrit dans le lien suivant.

  • Démarrer avec le langage de programmation Haskell

Ensuite, exécutez les commandes suivantes pour installer Bench.

$ stack setup
$ stack install bench

La 'pile' installera bench sur ~/.local/bin ou quelque chose de similaire. Assurez-vous que le répertoire d'installation se trouve sur votre chemin de recherche d'exécutables avant d'utiliser l'outil bench. On vous rappellera de le faire même si vous l'avez oublié.

3. Utilisation du gestionnaire de paquets Nix

Une autre façon d'installer Bench consiste à utiliser Nix directeur chargé d'emballage. Installez Nix comme indiqué dans le lien ci-dessous.

  • Nix – Un puissant gestionnaire de packages pour Linux et Unix

Après avoir installé Nix, installez l'outil Bench à l'aide de la commande :

$ nix-env -i bench

1.2. Comparer les commandes et les programmes Linux à l'aide de Bench

Comparons le résultat de la commande 'ls -al'. Pour ce faire, exécutez :

$ bench 'ls -al'

Exemple de résultat :

Commande "ls" de référence

Vous devez citer les commandes lorsque vous utilisez des drapeaux/options avec elles.

De même, vous pouvez comparer tous les programmes installés sur votre système. Les commandes suivantes montrent le résultat de l'analyse comparative des programmes 'htop' et 'ptop'.

$ bench htop
$ bench ptop

Benchmark des programmes htop et ptop

L'outil Bench peut également comparer plusieurs programmes à la fois. Voici le résultat de l'analyse comparative des programmes ls, htop, ptop.

$ bench ls htop ptop

Exemple de sortie :

Comparez plusieurs programmes

Nous pouvons également exporter le résultat du benchmark vers un HTML comme ci-dessous.

$ bench htop --output example.html

Pour exporter le résultat au format CSV, exécutez simplement :

$ bench htop --csv FILE

Afficher la section d'aide :

$ bench --help

2. Comparez les commandes et les programmes Linux à partir de la ligne de commande à l'aide d'Hyperfine

Hyperfin est encore un autre outil d'analyse comparative en ligne de commande inspiré de l'outil "Bench" dont nous venons de parler ci-dessus. Il s'agit d'un programme d'analyse comparative gratuit, open source, multiplateforme et écrit en Rust langage de programmation. Il a peu de fonctionnalités supplémentaires par rapport à l'outil Bench comme indiqué ci-dessous.

  • Analyse statistique sur plusieurs exécutions
  • Prise en charge des commandes shell arbitraires.
  • Commentaires constants sur la progression de l'analyse comparative et les estimations actuelles
  • Effectuer des exécutions de préchauffage avant le benchmark réel.
  • Les commandes d'effacement du cache peuvent être configurées avant chaque exécution.
  • Détection statistique des valeurs aberrantes.
  • Exportez les résultats de l'analyse comparative dans différents formats, tels que CSV, JSON, Markdown.
  • Besoins de référence paramétrés.

2.1. Installer Hyperfine sous Linux

Nous pouvons installer Hyperfine en utilisant l'une des méthodes suivantes.

1. Utiliser Linuxbrew

$ brew install hyperfine

2. Utiliser Cargo

Assurez-vous d'avoir installé Rust comme décrit dans le lien suivant.

  • Installer le langage de programmation Rust sous Linux

Après avoir installé Rust, exécutez la commande suivante pour installer Hyperfine via Cargo :

$ cargo install hyperfine

3. Utilisation des programmes d'assistance AUR

Hyperfine est disponible en AUR . Ainsi, vous pouvez l'installer sur des systèmes basés sur Arch en utilisant n'importe quel programme d'assistance, tel que YaY , comme ci-dessous.

$ yay -S hyperfine

4. Téléchargez et installez les binaires

Hyperfine est disponible en binaires pour les systèmes basés sur Debian. Téléchargez le dernier fichier binaire .deb depuis la page des versions et installez-le à l'aide du gestionnaire de packages 'dpkg'. Au moment de la rédaction de ce guide, la dernière version était 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. Commandes et programmes Linux de référence utilisant Hyperfine

Pour exécuter un benchmark à l'aide d'Hyperfine, exécutez-le simplement avec le programme/la commande comme indiqué ci-dessous.

$ hyperfine 'ls -al'

Commandes de référence utilisant hyperfine

Comparez plusieurs commandes/programmes :

$ hyperfine htop ptop

Exemple de sortie :

Comparez plusieurs programmes à l'aide de l'hyperfin

Comme vous pouvez le voir à la fin de la sortie, Hyperfine mentionne - 'htop s'exécute 1,96 fois plus vite que ptop' , nous pouvons donc immédiatement conclure que htop fonctionne mieux que Ptop. Cela vous aidera à trouver rapidement quel programme fonctionne le mieux lors de l'analyse comparative de plusieurs programmes. Cependant, nous n'obtenons pas cette sortie détaillée dans l'utilitaire Bench.

Hyperfine déterminera automatiquement le nombre d'exécutions à effectuer pour chaque commande. Par défaut, il effectuera au moins 10 analyses comparatives . Si vous souhaitez définir le nombre minimum d'exécutions (Par exemple 5 courses), utilisez le -m /--min-runs comme ci-dessous :

$ hyperfine --min-runs 5 htop ptop

Ou,

$ hyperfine -m 5 htop ptop

De même, pour effectuer le nombre maximum d'exécutions pour chaque commande, la commande serait :

$ hyperfine --max-runs 5 htop ptop

Ou,

$ hyperfine -M 5 htop ptop

Nous pouvons même effectuer le nombre exact d'exécutions pour chaque commande en utilisant la commande suivante :

$ hyperfine -r 5 htop ptop

Comme vous le savez peut-être, si le temps d'exécution du programme est limité par les E/S de disque, les résultats de l'analyse comparative peuvent être fortement influencés par les caches de disque et s'ils sont froids ou chauds. Heureusement, Hyperfine a la possibilité d'effectuer un certain nombre d'exécutions de programme avant d'effectuer le benchmark réel.

Pour effectuer NUM exécutions de préchauffage (par exemple 3) avant le benchmark réel, utilisez le -w / --warmup comme ci-dessous :

$ hyperfine --warmup 3 htop

Tout comme l'utilitaire Bench, Hyperfine nous permet également d'exporter les résultats de référence vers un fichier donné. Nous pouvons exporter les résultats aux formats CSV, JSON et Markdown.

Par exemple, pour exporter les résultats au format Markdown, utilisez la commande suivante :

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

Pour plus d'options et de détails d'utilisation, reportez-vous à la section d'aide :

$ hyperfine --help

Et, c'est tout pour le moment. Si vous avez déjà été dans une situation où vous avez besoin de comparer des programmes similaires et alternatifs, ces outils peuvent vous aider.


Linux
  1. Comment désactiver les commandes d'arrêt et de redémarrage sous Linux

  2. Comment contrôler les lecteurs multimédias à partir de la ligne de commande sous Linux

  3. Comment effacer le cache du navigateur Web à partir de la ligne de commande sous Linux

  4. Comment utiliser les commandes strace et ltrace sous Linux

  5. Comment utiliser sched_getaffinity et sched_setaffinity sous Linux à partir de C ?

Comment trouver la version de Virtualbox à partir de la ligne de commande sous Linux

Comment compiler et exécuter des programmes C, C++ sous Linux

Comment exécuter des jeux et des programmes MS-DOS sous Linux

Connecter et déconnecter le WiFi de la ligne de commande sous Linux

Comment vérifier si l'interface graphique est installée sous Linux à partir de la ligne de commande

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux