GNU/Linux >> Znalost Linux >  >> Linux

Jak srovnávat linuxové příkazy a programy z příkazového řádku

Před chvílí jsem sdílel několik alternativ k ‚top‘, nástroji příkazového řádku . Někteří uživatelé se mě ptali, který z těchto nástrojů je nejlepší a na jakém základě (jako jsou funkce, přispěvatelé, roky činnosti, požadavky na stránky atd.) jsem tyto nástroje porovnal. Také mě požádali, abych se podělil o výsledky benchmarkingu, pokud nějaké mám. Bohužel jsem v té době neuměl porovnávat programy. Když jsem hledal nějaké jednoduché a snadno použitelné nástroje pro srovnávání, které by porovnávaly linuxové programy, narazil jsem na dva nástroje s názvem 'Bench' a 'Hyperjemné' . Jedná se o jednoduché a snadno použitelné nástroje příkazového řádku k porovnání příkazů a programů Linuxu v systémech Linux a Unix.

1. Porovnejte Linuxové příkazy a programy z příkazového řádku pomocí Bench Tool

'Lavička' nástroj porovnává jeden nebo více daných příkazů/programů pomocí Haskellova kritéria knihovny a zobrazuje výstupní statistiky ve snadno srozumitelném formátu. Tento nástroj může být užitečný tam, kde potřebujete porovnat podobné programy na základě výsledku benchmarkingu. Výsledky můžeme také exportovat do formátu HTML nebo CSV nebo šablonovaného výstupu.

1.1. Nainstalujte nástroj Bench Utility v systému Linux

Nástroj bench lze nainstalovat třemi způsoby.

1. Používání Linuxbrew

Nástroj Bench můžeme nainstalovat pomocí správce balíčků Linuxbrew. Pokud jste Linuxbrew ještě nenainstalovali, přejděte na následující odkaz.

  • Linuxbrew – Společný správce balíčků pro Linux a Mac OS X

Po instalaci Linuxbrew spusťte následující příkaz pro instalaci Bench:

$ brew install bench

2. Pomocí Haskellova nástroje zásobníku

Nejprve nainstalujte Haskell, jak je popsáno v následujícím odkazu.

  • Začínáme s programovacím jazykem Haskell

A poté spusťte následující příkazy pro instalaci Bench.

$ stack setup
$ stack install bench

'Zásobník' nainstaluje lavici do ~/.local/bin nebo něco podobného. Před použitím nástroje bench se ujistěte, že instalační adresář je ve vaší vyhledávací cestě spustitelného souboru. Budete upozorněni, abyste to udělali, i když na to zapomenete.

3. Pomocí správce balíčků Nix

Dalším způsobem instalace Bench je použití Nix správce balíčků. Nainstalujte Nix, jak je znázorněno na níže uvedeném odkazu.

  • Nix – výkonný správce balíčků pro Linux a Unix

Po instalaci Nix nainstalujte nástroj Bench pomocí příkazu:

$ nix-env -i bench

1.2. Benchmark Linux příkazy a programy pomocí Bench

Srovnejme výsledek příkazu 'ls -al'. Chcete-li to provést, spusťte:

$ bench 'ls -al'

Ukázkový výstup:

Benchmark příkaz 'ls'

Když s nimi používáte příznaky/volby, musíte příkazy citovat.

Podobně můžete porovnávat libovolné programy nainstalované ve vašem systému. Následující příkazy ukazují výsledek benchmarkingu programů 'htop' a 'ptop'.

$ bench htop
$ bench ptop

Srovnání programů htop a ptop

Nástroj Bench dokáže srovnávat i více programů najednou. Zde je výsledek benchmarkingu programů ls, htop, ptop.

$ bench ls htop ptop

Ukázkový výstup:

Srovnání více programů

Můžeme také exportovat výsledek benchmarku do HTML, jak je uvedeno níže.

$ bench htop --output example.html

Chcete-li exportovat výsledek do CSV, stačí spustit:

$ bench htop --csv FILE

Zobrazit sekci nápovědy:

$ bench --help

2. Porovnejte Linuxové příkazy a programy z příkazového řádku pomocí Hyperfine

Hyperjemné je další nástroj pro srovnávání příkazového řádku inspirovaný nástrojem 'Bench', o kterém jsme právě hovořili výše. Je to bezplatný program s otevřeným zdrojovým kódem, multiplatformní srovnávací program a napsaný v Rust programovací jazyk. Ve srovnání s níže uvedeným nástrojem Bench má několik dalších funkcí.

  • Statistická analýza napříč více běhy.
  • Podpora libovolných příkazů shellu.
  • Neustálá zpětná vazba o průběhu srovnávání a aktuálních odhadech.
  • Před skutečným benchmarkem proveďte zahřívací běhy.
  • Příkazy pro vymazání mezipaměti lze nastavit před každým spuštěním časování.
  • Detekce statistických odlehlých hodnot.
  • Exportujte výsledky benchmarků do různých formátů, jako je CSV, JSON, Markdown.
  • Parametrizované srovnávací hodnoty.

2.1. Nainstalujte Hyperfine v Linuxu

Hyperfine můžeme nainstalovat pomocí jedné z následujících metod.

1. Pomocí Linuxbrew

$ brew install hyperfine

2. Pomocí Cargo

Ujistěte se, že jste nainstalovali Rust, jak je popsáno v následujícím odkazu.

  • Nainstalujte programovací jazyk Rust v systému Linux

Po instalaci Rust spusťte následující příkaz pro instalaci Hyperfine přes Cargo:

$ cargo install hyperfine

3. Použití pomocných programů AUR

Hyperfine je k dispozici v AUR . Můžete jej tedy nainstalovat na systémy založené na Arch pomocí jakýchkoli pomocných programů, jako je YaY , jako níže.

$ yay -S hyperfine

4. Stáhněte a nainstalujte binární soubory

Hyperfine je k dispozici v binárních souborech pro systémy založené na Debianu. Stáhněte si nejnovější binární soubor .deb ze stránky verzí a nainstalujte jej pomocí správce balíčků 'dpkg'. V době psaní této příručky byla nejnovější verze 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. Srovnejte Linuxové příkazy a programy pomocí Hyperfine

Chcete-li spustit benchmark pomocí Hyperfine, jednoduše jej spusťte spolu s programem/příkazem, jak je uvedeno níže.

$ hyperfine 'ls -al'

Benchmark příkazy pomocí hyperfine

Srovnání více příkazů/programů:

$ hyperfine htop ptop

Ukázkový výstup:

Porovnejte více programů pomocí hyperfine

Jak můžete vidět na konci výstupu, Hyperfine zmiňuje - 'htop běžel 1,96krát rychleji než ptop' , takže můžeme okamžitě dojít k závěru, že htop funguje lépe než Ptop. To vám pomůže rychle zjistit, který program funguje lépe při srovnávání více programů. Tento podrobný výstup však v nástroji Bench nezískáme.

Hyperfine automaticky určí počet spuštění pro každý příkaz. Ve výchozím nastavení provede alespoň 10 srovnávacích testů . Pokud chcete nastavit minimální počet spuštění (Např. 5 běhů), použijte -m /--min-runs možnost jako níže:

$ hyperfine --min-runs 5 htop ptop

Nebo,

$ hyperfine -m 5 htop ptop

Podobně k provedení maximálního počtu spuštění pro každý příkaz by příkaz byl:

$ hyperfine --max-runs 5 htop ptop

Nebo,

$ hyperfine -M 5 htop ptop

Můžeme dokonce provést přesný počet běhů pro každý příkaz pomocí následujícího příkazu:

$ hyperfine -r 5 htop ptop

Jak možná víte, pokud je doba provádění programu omezena vstupem a výstupem disku, výsledky benchmarkingu mohou být silně ovlivněny mezipamětí disku a tím, zda jsou studené nebo teplé. Naštěstí má Hyperfine možnost provést určitý počet spuštění programu před provedením skutečného benchmarku.

Chcete-li provést NUM zahřívacích běhů (např. 3) před skutečným benchmarkem, použijte -w / --warmup možnost jako níže:

$ hyperfine --warmup 3 htop

Stejně jako nástroj Bench nám také Hyperfine umožňuje exportovat výsledky benchmarku do daného souboru. Výsledky můžeme exportovat do formátů CSV, JSON a Markdown.

Chcete-li například exportovat výsledky ve formátu Markdown, použijte následující příkaz:

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

Další možnosti a podrobnosti o použití naleznete v části nápovědy:

$ hyperfine --help

A to je zatím vše. Pokud jste se někdy dostali do situace, kdy potřebujete porovnávat podobné a alternativní programy, tyto nástroje vám mohou pomoci.


Linux
  1. Jak zakázat příkazy vypnutí a restartu v Linuxu

  2. Jak používat příkazy strace a ltrace v Linuxu

  3. Jak používat sched_getaffinity a sched_setaffinity v Linuxu z C?

  1. Jak spouštět příkazy ze standardního vstupu pomocí Tee a Xargs v Linuxu

  2. Jak ovládat přehrávače médií z příkazového řádku v Linuxu

  3. Jak vymazat mezipaměť webového prohlížeče z příkazového řádku v Linuxu

  1. Jak používat příkazy Najít a najít v Linuxu:Průvodce pro začátečníky

  2. Jak automaticky spouštět spouštěcí skripty a příkazy Linuxu

  3. Jak srovnávat linuxové příkazy a programy z příkazového řádku