GNU/Linux >> Linux Esercitazione >  >> Linux

Come confrontare i comandi e i programmi Linux dalla riga di comando

Qualche tempo fa ho condiviso alcune alternative a "top", l'utilità della riga di comando . Alcuni utenti mi hanno chiesto quale tra questi strumenti è il migliore e su quali basi (come funzionalità, contributori, anni attivi, richieste di pagine ecc.) Ho confrontato quegli strumenti. Mi hanno anche chiesto di condividere i risultati del benchmarking se ne ho. Sfortunatamente, non sapevo come confrontare i programmi in quel momento. Durante la ricerca di alcuni strumenti di benchmarking semplici e facili da usare per confrontare i programmi Linux, mi sono imbattuto in due utilità denominate 'Bench' e 'Iperfine' . Questi sono strumenti da riga di comando semplici e facili da usare per confrontare comandi e programmi Linux su sistemi Linux e simili a Unix.

1. Confronta i comandi e i programmi Linux dalla riga di comando utilizzando lo strumento Bench

La 'panchina' l'utilità esegue il benchmark di uno o più comandi/programmi dati utilizzando il criterio di Haskell libreria e visualizza le statistiche di output in un formato di facile comprensione. Questo strumento può essere utile quando è necessario confrontare programmi simili in base al risultato del benchmarking. Possiamo anche esportare i risultati in formato HTML o CSV o output basato su modelli.

1.1. Installa l'utilità Bench in Linux

L'utility bench può essere installata in tre metodi.

1. Utilizzo di Linuxbrew

Possiamo installare l'utilità Bench utilizzando il gestore di pacchetti Linuxbrew. Se non hai ancora installato Linuxbrew, fai riferimento al seguente link.

  • Linuxbrew:un gestore di pacchetti comune per Linux e Mac OS X

Dopo aver installato Linuxbrew, esegui il seguente comando per installare Bench:

$ brew install bench

2. Utilizzando lo strumento Stack di Haskell

Innanzitutto, installa Haskell come descritto nel seguente link.

  • Introduzione al linguaggio di programmazione Haskell

E poi, esegui i seguenti comandi per installare Bench.

$ stack setup
$ stack install bench

Lo "stack" installerà il banco su ~/.local/bin o qualcosa di simile. Assicurati che la directory di installazione si trovi nel tuo percorso di ricerca eseguibile prima di utilizzare lo strumento Bench. Ti verrà ricordato di farlo anche se te ne sei dimenticato.

3. Utilizzo del gestore di pacchetti Nix

Un altro modo per installare Bench è usare Nix gestore di pacchetti. Installa Nix come mostrato nel link sottostante.

  • Nix:un potente gestore di pacchetti per Linux e Unix

Dopo aver installato Nix, installa lo strumento Bench usando il comando:

$ nix-env -i bench

1.2. Confronta i comandi e i programmi Linux utilizzando Bench

Analizziamo il risultato del comando 'ls -al'. Per farlo, esegui:

$ bench 'ls -al'

Risultato di esempio:

Confronta il comando 'ls'

Devi citare i comandi quando usi flag/opzioni con essi.

Allo stesso modo, puoi confrontare tutti i programmi installati nel tuo sistema. I seguenti comandi mostrano il risultato del benchmarking dei programmi 'htop' e 'ptop'.

$ bench htop
$ bench ptop

Confronta i programmi htop e ptop

Lo strumento Bench può anche confrontare più programmi contemporaneamente. Ecco il risultato del benchmarking dei programmi ls, htop, ptop.

$ bench ls htop ptop

Esempio di output:

Confronta più programmi

Possiamo anche esportare il risultato del benchmark in un HTML come di seguito.

$ bench htop --output example.html

Per esportare il risultato in CSV, esegui semplicemente:

$ bench htop --csv FILE

Visualizza la sezione della guida:

$ bench --help

2. Confronta i comandi e i programmi Linux dalla riga di comando utilizzando Hyperfine

Iperfine è un altro strumento di benchmarking da riga di comando ispirato allo strumento "Bench" di cui abbiamo appena discusso sopra. È un programma di benchmarking multipiattaforma gratuito, open source e scritto in Rust linguaggio di programmazione. Ha poche funzionalità aggiuntive rispetto allo strumento Bench come elencato di seguito.

  • Analisi statistica su più esecuzioni.
  • Supporto per comandi shell arbitrari.
  • Feedback costante sull'andamento del benchmark e sulle stime attuali.
  • Esegui cicli di riscaldamento prima del benchmark effettivo.
  • I comandi di cancellazione della cache possono essere impostati prima di ogni esecuzione del tempo.
  • Rilevamento di valori anomali statistici.
  • Esportare i risultati del benchmark in vari formati, come CSV, JSON, Markdown.
  • Benchmark parametrizzati.

2.1. Installa Hyperfine in Linux

Possiamo installare Hyperfine utilizzando uno qualsiasi dei seguenti metodi.

1. Utilizzo di Linuxbrew

$ brew install hyperfine

2. Utilizzo del carico

Assicurati di aver installato Rust come descritto nel seguente link.

  • Installa il linguaggio di programmazione Rust in Linux

Dopo aver installato Rust, esegui il comando seguente per installare Hyperfine tramite Cargo:

$ cargo install hyperfine

3. Utilizzo dei programmi di supporto AUR

Hyperfine è disponibile in AUR . Quindi, puoi installarlo su sistemi basati su Arch utilizzando qualsiasi programma di supporto, come YaY , come di seguito.

$ yay -S hyperfine

4. Scarica e installa i binari

Hyperfine è disponibile nei binari per i sistemi basati su Debian. Scarica l'ultimo file binario .deb dalla pagina delle versioni e installalo usando il gestore di pacchetti 'dpkg'. Al momento della stesura di questa guida, l'ultima versione 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. Confronta i comandi e i programmi Linux utilizzando Hyperfine

Per eseguire un benchmark utilizzando Hyperfine, eseguilo semplicemente insieme al programma/comando come mostrato di seguito.

$ hyperfine 'ls -al'

Confronta i comandi usando hyperfine

Confronta più comandi/programmi:

$ hyperfine htop ptop

Esempio di output:

Confronta più programmi usando hyperfine

Come puoi vedere alla fine dell'output, Hyperfine cita:'htop ha funzionato 1,96 volte più velocemente di ptop' , quindi possiamo concludere immediatamente che htop ha prestazioni migliori di Ptop. Questo ti aiuterà a trovare rapidamente quale programma funziona meglio quando esegui il benchmarking di più programmi. Tuttavia, non otteniamo questo output dettagliato nell'utilità Bench.

Hyperfine determinerà automaticamente il numero di esecuzioni da eseguire per ciascun comando. Per impostazione predefinita, eseguirà almeno 10 esecuzioni di benchmarking . Se vuoi impostare il numero minimo di corse (Es. 5 corse), usa il -m /--min-runs opzione come di seguito:

$ hyperfine --min-runs 5 htop ptop

Oppure,

$ hyperfine -m 5 htop ptop

Allo stesso modo, per eseguire il numero massimo di corse per ogni comando, il comando sarebbe:

$ hyperfine --max-runs 5 htop ptop

Oppure,

$ hyperfine -M 5 htop ptop

Possiamo anche eseguire numero esatto di corse per ogni comando utilizzando il seguente comando:

$ hyperfine -r 5 htop ptop

Come forse saprai, se il tempo di esecuzione del programma è limitato dall'I/O del disco, i risultati del benchmarking possono essere fortemente influenzati dalle cache del disco e dal fatto che siano fredde o calde. Fortunatamente, Hyperfine ha la possibilità di eseguire un certo numero di esecuzioni di programmi prima di eseguire il benchmark effettivo.

Per eseguire NUM cicli di riscaldamento (ad es. 3) prima del benchmark effettivo, utilizza il -w / --warmup opzione come di seguito:

$ hyperfine --warmup 3 htop

Proprio come l'utilità Bench, Hyperfine ci consente anche di esportare i risultati del benchmark in un determinato file. Possiamo esportare i risultati nei formati CSV, JSON e Markdown.

Ad esempio, per esportare i risultati in formato Markdown, utilizzare il comando seguente:

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

Per ulteriori opzioni e dettagli sull'utilizzo, fare riferimento alla sezione della guida:

$ hyperfine --help

E per ora è tutto. Se ti sei mai trovato in una situazione in cui hai bisogno di confrontare programmi simili e alternativi, questi strumenti potrebbero aiutarti.


Linux
  1. Come disabilitare i comandi di spegnimento e riavvio in Linux

  2. Come controllare i lettori multimediali dalla riga di comando in Linux

  3. Come cancellare la cache del browser Web dalla riga di comando in Linux

  4. Come usare i comandi strace e ltrace in Linux

  5. Come usare sched_getaffinity e sched_setaffinity in Linux da C?

Come trovare la versione di Virtualbox dalla riga di comando in Linux

Come compilare ed eseguire programmi C, C++ in Linux

Come eseguire giochi e programmi MS-DOS in Linux

Connetti e disconnetti il ​​WiFi dalla riga di comando in Linux

Come verificare se la GUI è installata in Linux dalla riga di comando

Come eliminare file e directory utilizzando la riga di comando di Linux