GNU/Linux >> Belajar Linux >  >> Linux

Cara Membandingkan Perintah Dan Program Linux Dari Commandline

Beberapa waktu yang lalu, saya telah membagikan beberapa alternatif untuk 'top', utilitas baris perintah . Beberapa pengguna bertanya kepada saya mana di antara alat-alat itu yang terbaik dan atas dasar apa (seperti fitur, kontributor, tahun aktif, permintaan halaman, dll.) Saya membandingkan alat-alat itu. Mereka juga meminta saya untuk membagikan hasil benchmarking jika ada. Sayangnya, saya tidak tahu bagaimana melakukan benchmark program pada waktu itu. Saat mencari beberapa alat benchmark sederhana dan mudah digunakan untuk membandingkan program Linux, saya menemukan dua utilitas bernama 'Bench' dan 'Sempurna' . Ini adalah alat baris perintah yang sederhana dan mudah digunakan untuk membandingkan perintah dan program Linux di Linux dan sistem mirip Unix.

1. Benchmark Perintah Dan Program Linux Dari Commandline Menggunakan Bench Tool

'Bangku' benchmark utilitas satu atau lebih perintah/program yang diberikan menggunakan kriteria Haskell perpustakaan dan menampilkan statistik keluaran dalam format yang mudah dimengerti. Alat ini dapat membantu jika Anda perlu membandingkan program serupa berdasarkan hasil benchmarking. Kami juga dapat mengekspor hasilnya ke format HTML atau CSV atau keluaran template.

1.1. Instal Utilitas Bench Di Linux

Utilitas bangku dapat diinstal dalam tiga metode.

1. Menggunakan Linuxbrew

Kita dapat menginstal utilitas Bench menggunakan manajer paket Linuxbrew. Jika Anda belum menginstal Linuxbrew, lihat tautan berikut.

  • Linuxbrew – Manajer Paket Umum Untuk Linux dan Mac OS X

Setelah menginstal Linuxbrew, jalankan perintah berikut untuk menginstal Bench:

$ brew install bench

2. Menggunakan alat tumpukan Haskell

Pertama, instal Haskell seperti yang dijelaskan pada tautan berikut.

  • Memulai Bahasa Pemrograman Haskell

Kemudian, jalankan perintah berikut untuk menginstal Bench.

$ stack setup
$ stack install bench

'Stack' akan memasang bangku ke ~/.local/bin atau sesuatu yang serupa. Pastikan direktori instalasi berada di jalur pencarian yang dapat dieksekusi sebelum menggunakan alat bangku. Anda akan diingatkan untuk melakukan ini bahkan jika Anda lupa.

3. Menggunakan pengelola paket Nix

Cara lain untuk menginstal Bench adalah menggunakan Nix manajer paket. Instal Nix seperti yang ditunjukkan pada tautan di bawah ini.

  • Nix – Pengelola Paket yang Kuat untuk Linux dan Unix

Setelah menginstal Nix, instal alat Bench menggunakan perintah:

$ nix-env -i bench

1.2. Benchmark Perintah Dan Program Linux Menggunakan Bench

Mari kita benchmark hasil dari perintah 'ls -al'. Untuk melakukannya, jalankan:

$ bench 'ls -al'

Contoh keluaran:

Perintah benchmark 'ls'

Anda harus mengutip perintah saat Anda menggunakan flag/opsi dengannya.

Demikian pula, Anda dapat membandingkan program apa pun yang diinstal di sistem Anda. Perintah berikut menunjukkan hasil benchmarking program 'htop' dan 'ptop'.

$ bench htop
$ bench ptop

Tolok ukur program htop dan ptop

Alat Bench juga dapat melakukan benchmark beberapa program sekaligus. Berikut adalah hasil benchmarking program ls, htop, ptop.

$ bench ls htop ptop

Contoh keluaran:

Tolok ukur beberapa program

Kami juga dapat mengekspor hasil benchmark ke HTML seperti di bawah ini.

$ bench htop --output example.html

Untuk mengekspor hasilnya ke CSV, jalankan saja:

$ bench htop --csv FILE

Lihat bagian bantuan:

$ bench --help

2. Benchmark Perintah Dan Program Linux Dari Commandline Menggunakan Hyperfine

Sempurna adalah alat benchmark baris perintah lain yang terinspirasi oleh alat 'Bench' yang baru saja kita bahas di atas. Ini gratis, open source, program pembandingan lintas platform dan ditulis dalam Rust bahasa pemrograman. Ini memiliki beberapa fitur tambahan dibandingkan dengan alat Bench seperti yang tercantum di bawah ini.

  • Analisis statistik di beberapa proses.
  • Dukungan untuk perintah shell arbitrer.
  • Umpan balik yang konstan tentang kemajuan tolok ukur dan perkiraan saat ini.
  • Lakukan pemanasan sebelum benchmark sebenarnya.
  • Perintah pembersihan cache dapat diatur sebelum setiap waktu dijalankan.
  • Deteksi outlier statistik.
  • Ekspor hasil tolok ukur ke berbagai format, seperti CSV, JSON, Penurunan harga.
  • Tolok ukur berparameter.

2.1. Instal Hyperfine di Linux

Kita dapat menginstal Hyperfine menggunakan salah satu metode berikut.

1. Menggunakan Linuxbrew

$ brew install hyperfine

2. Menggunakan Kargo

Pastikan Anda telah menginstal Rust seperti yang dijelaskan pada link berikut.

  • Instal Bahasa Pemrograman Rust Di Linux

Setelah menginstal Rust, jalankan perintah berikut untuk menginstal Hyperfine melalui Cargo:

$ cargo install hyperfine

3. Menggunakan program pembantu AUR

Hyperfine tersedia dalam AUR . Jadi, Anda dapat menginstalnya di sistem berbasis Arch menggunakan program pembantu apa pun, seperti YaY , seperti di bawah ini.

$ yay -S hyperfine

4. Unduh dan pasang binari

Hyperfine tersedia dalam biner untuk sistem berbasis Debian. Unduh file biner .deb terbaru dari laman rilis dan instal menggunakan manajer paket 'dpkg'. Saat panduan ini ditulis, versi terbaru adalah 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 Perintah Dan Program Linux Menggunakan Hyperfine

Untuk menjalankan benchmark menggunakan Hyperfine, jalankan saja bersama program/perintah seperti di bawah ini.

$ hyperfine 'ls -al'

Perintah benchmark menggunakan hyperfine

Tolok ukur beberapa perintah/program:

$ hyperfine htop ptop

Contoh keluaran:

Tolok ukur beberapa program menggunakan hyperfine

Seperti yang Anda lihat di akhir keluaran, Hyperfine menyebutkan - 'htop berlari 1,96 kali lebih cepat daripada ptop' , sehingga kami dapat segera menyimpulkan kinerja htop lebih baik daripada Ptop. Ini akan membantu Anda dengan cepat menemukan program mana yang berkinerja lebih baik saat membandingkan beberapa program. Kami tidak mendapatkan output detail ini di utilitas Bench.

Hyperfine akan secara otomatis menentukan jumlah proses yang harus dilakukan untuk setiap perintah. Secara default, ini akan melakukan setidaknya 10 proses pembandingan . Jika Anda ingin menyetel jumlah lari minimum (Misalnya 5 run), gunakan -m /--min-runs pilihan seperti di bawah ini:

$ hyperfine --min-runs 5 htop ptop

Atau,

$ hyperfine -m 5 htop ptop

Demikian pula, untuk melakukan jumlah lari maksimum untuk setiap perintah, perintahnya adalah:

$ hyperfine --max-runs 5 htop ptop

Atau,

$ hyperfine -M 5 htop ptop

Kami bahkan dapat melakukan jumlah lari yang tepat untuk setiap perintah menggunakan perintah berikut:

$ hyperfine -r 5 htop ptop

Seperti yang Anda ketahui, jika waktu eksekusi program dibatasi oleh I/O disk, hasil pembandingan dapat sangat dipengaruhi oleh cache disk dan apakah dingin atau hangat. Untungnya, Hyperfine memiliki opsi untuk melakukan sejumlah eksekusi program sebelum melakukan benchmark yang sebenarnya.

Untuk melakukan NUM pemanasan (Misalnya 3) sebelum tolok ukur yang sebenarnya, gunakan -w / --warmup pilihan seperti di bawah ini:

$ hyperfine --warmup 3 htop

Sama seperti utilitas Bench, Hyperfine juga memungkinkan kita untuk mengekspor hasil benchmark ke file tertentu. Kami dapat mengekspor hasilnya ke format CSV, JSON, dan Markdown.

Misalnya, untuk mengekspor hasil dalam format penurunan harga, gunakan perintah berikut:

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

Untuk opsi lebih lanjut dan detail penggunaan, lihat bagian bantuan:

$ hyperfine --help

Dan, itu saja untuk saat ini. Jika Anda pernah berada dalam situasi di mana Anda perlu membandingkan program serupa dan alternatif, alat ini mungkin bisa membantu.


Linux
  1. Cara Mengontrol Pemutar Media Dari Commandline Di Linux

  2. Cara menggunakan perintah strace dan ltrace di Linux

  3. Bagaimana cara menggunakan sched_getaffinity dan sched_setaffinity di Linux dari C?

  1. Cara Menonaktifkan Perintah Shutdown dan Reboot di Linux

  2. Cara Menjalankan Perintah dari Input Standar Menggunakan Tee dan Xargs di Linux

  3. Cara Menghapus Cache Browser Web Dari Commandline Di Linux

  1. Cara Menggunakan Perintah Temukan dan Temukan Di Linux:Panduan Pemula

  2. Cara Mengeksekusi Skrip dan Perintah Startup Linux secara Otomatis

  3. Cara Membandingkan Perintah Dan Program Linux Dari Commandline