Cari Jumlah Masa Pelaksanaan Perintah atau Program di Windows

Anda kadang-kadang mungkin ingin mencari masa pelaksanaan perintah atau program yang anda jalankan. Untuk mengoptimumkan skrip atau program, penting untuk mengetahui berapa lama masa yang diperlukan untuk menyelesaikan pelaksanaan. Ini membantu anda membandingkan jumlah masa berjalan Program A berbanding Program B dan mengoptimumkan kod anda, terutamanya jika anda seorang pembangun perisian, penganalisis, atau penguji perisian profesional.

Mengukur jumlah masa pelaksanaan skrip atau proses adalah salah satu aspek yang paling penting dalam pengoptimuman prestasi. Artikel ini membincangkan pelbagai kaedah untuk mengetahui jumlah masa pelaksanaan program, skrip, atau perintah di Windows.

Cari Jumlah Masa Pelaksanaan Program atau Perintah

Menggunakan PowerShell

PowerShell merangkumi cmdlet Measure-Command bawaan yang membantu anda mengukur masa yang diperlukan untuk menjalankan blok skrip, cmdlet, atau bahkan program luaran. Berikut adalah contoh baris arahan PowerShell yang mengukur masa yang diperlukan untuk menyelesaikan baris perintah ping google.com :

 Langkah-Perintah Luar-Host 

Selepas output arahan ping, anda akan melihat statistik berikut di bahagian bawah.

 Hari: 0 Jam: 0 Minit: 0 Detik: 3 Milisaat: 66 Ticks: 30660017 JumlahHari: 3.5486130787037E-05 JumlahJam: 0.000851667138888889 JumlahMinit: 0.0511000283333333 JumlahSecond: 3.0660017 JumlahMilisa detik: 3066.0017 

Baca lebih lanjut mengenai Measure-Object di Microsoft Docs.

Perintah mengambil masa 3.06 saat untuk diselesaikan. Argumen Out-Host, jika dihilangkan, PowerShell menyembunyikan output (perintah Ping ) di konsol - anda hanya akan melihat statistik pelaksanaan.

Sekiranya anda mempunyai baris perintah yang panjang atau anda perlu menjalankan banyak perintah, anda boleh memasukkannya ke dalam fail kumpulan Windows dan kemudian menjalankannya menggunakan PowerShell. Berikut adalah contoh:

$config[ads_text6] not found
 Langkah-Proses Permulaan Langkah-Langkah "d: \ batch \ backup.bat" 
BERKAITAN: Cari Jumlah Perkataan, Huruf dan Garis dalam Fail Teks Menggunakan PowerShell

Menggunakan VBScript

Berikut adalah VBScript ringkas yang mengira jumlah masa pelaksanaan baris perintah, program, atau fail kumpulan.

 Tetapkan WshShell = WScript.CreateObject ("WScript.Shell") sCmd = chr (34) & "D: \ Batch Files \ Backup.bat" & chr (34) dtmStartTime = Timer Return = WshShell.Run (sCmd, 1, true ) Wscript.Echo "Tugas selesai dalam" & Round (Timer - dtmStartTime, 2) & "seconds." 
  1. Salin kod di atas ke Notepad
  2. Simpan fail sebagai exec_timer.vbs .
  3. Pada baris ke-2 yang dimulakan dengan sCmd, ubah program yang ingin anda jalankan - iaitu, ganti "D:\Batch Files\Backup.bat" pada contoh di atas dengan aplikasi atau kumpulan yang ingin anda jalankan.
  4. Simpan fail dan tutup Notepad.
  5. Klik dua kali fail VBScript untuk menjalankannya.

VBScript melancarkan fail kumpulan, perintah, atau program. Setelah selesai berjalan, jumlah masa pelaksanaan ditunjukkan (dalam beberapa saat.)


Menggunakan TimeIt.exe dari Resource Kit Tools

TimeIt.exe adalah sebahagian daripada alat Kit Sumber Windows Server 2003 yang menunjukkan masa pelaksanaan program atau perintah. Program ini berjalan dengan baik pada Windows 10 juga.

  1. Setelah memuat turun Alat RK, buka fail rktools.exe menggunakan 7-Zip.
  2. Kemudian, buka di dalam rktools.msi

  3. Cari TimeIt.exe dan ekstrak ke folder.

Untuk menjalankan perintah atau fail kumpulan dan mengukur jumlah masa pelaksanaannya, berikut adalah beberapa contoh:

 timeit.exe ping google.com 
 timeit.exe C: \ Batch Files \ Measure command run time \ backup.bat 

TimeIt menunjukkan waktu keluar proses dan masa berlalu, antara lain butiran. Semasa saya memeriksa, nilai tulisan byte tidak sesuai dengan ukuran fail output. Tetapi, maklumat baca / tulis byte bukan tajuk perbincangan dalam artikel ini.

Maklumat lanjut

Semasa menulis artikel mengenai mengekstrak audio dari fail video menggunakan FFmpeg.exe, saya terfikir untuk mengukur masa pelaksanaan perintah. Saya menggunakan skrip di atas untuk mengukur masa yang diperlukan untuk mengekstrak audio MP3 dari fail filem menggunakan alat baris perintah FFmpeg.exe.

Kumpulan pertama merangkumi baris arahan ini:

 ffmpeg -i "C: \ Movies \ Movie.mp4" -ss 01:20:00 -t 00:00:20 -codec: a libmp3lame -ab 128000 "D: \ output-1.mp3" 

Kumpulan ke-2 merangkumi baris perintah ini:

 ffmpeg -ss 01:20:00 -i "C: \ Movies \ Movie.mp4" -t 00:00:20 -codec: a libmp3lame -ab 128000 "D: \ output-2.mp3" 

Seperti yang anda lihat, bilangan argumen baris perintah dan nilai masing-masing adalah sama. Satu-satunya perbezaan adalah bahawa -ss (titik permulaan) diletakkan sebelum parameter -i (input fail), dalam file kumpulan ke-2. Kaedah tersebut disebut Input seeking mengikut dokumentasi FFmpeg.exe. Kaedah pertama disebut Output -ss di -ss parameter -i (input file) muncul sebelum parameter -ss .

  • Dokumentasi FFmpeg mengatakan bahawa kaedah pencarian input jauh lebih cepat daripada pencarian output, kerana ketika menggunakan kaedah sebelumnya, FFmpeg.exe melompat (mencari) terus ke titik Mula yang disebutkan dalam fail input dan mula menyahkod dari titik itu dan seterusnya.
  • Manakala, kaedah pencarian output membuka fail terlebih dahulu, mulai menyahkod dari 00:00:00, dan kemudian membuang data hingga mencapai titik permulaan 01:20:00 . Jadi, sumber daya sistem (CPU, Memori, dan Disk I / O) terbuang begitu juga waktu pelaksanaannya meningkat apabila anda menggunakan kaedah pencarian Output.
BERKAITAN: Tukarkan MP4 atau Mana-mana Video ke MP3 (Ekstrak Audio dari fail Video)

Dokumentasi FFmpeg.exe betul. Semasa saya menguji, pencarian input berjalan lebih cepat daripada kaedah pencarian output.

$config[ads_text6] not found
  • Perintah pertama (Output seek) mengambil masa 20.48 saat untuk diselesaikan.
  • Perintah ke-2 (Input seek) mengambil masa 16.62 saat untuk diselesaikan.

Sekiranya anda mengetahui kaedah lain untuk mengukur masa pelaksanaan suatu proses, skrip, atau perintah, beri tahu kami.

Artikel Berkaitan