yuanrui / blog

Some notes.
http://yuanrui.github.io
3 stars 0 forks source link

在命令行中测量程序运行时间 #54

Open yuanrui opened 1 year ago

yuanrui commented 1 year ago

前言

项目上有一个视频流截图的功能,使用的ffmpeg程序需要测试截图的耗时。在Linux中可以使用系统自带的time命令,在Windows可以使用Windows Server 2003资源工具包中的timeit.exe程序。由于微软官网改版,无法下载timeit.exe,需要使用其他工具来测量程序运行时间。

使用PowerShell

在PowerShell执行 Measure-Command {}脚本,{}中的内容为命令行指令。命令行中的程序一般使用绝对路径,否则会提示找不到命令。

Measure-Command {E:\dir_path\ffmpeg.exe -rtsp_transport tcp -i rtsp://test:123456@192.168.1.15:554/h264/ch0/sub/av_stream -y -f mjpeg -vframes 1 -loglevel quiet E:\dir_path\test.jpg}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 375
Ticks             : 13750751
TotalDays         : 1.59152210648148E-05
TotalHours        : 0.000381965305555556
TotalMinutes      : 0.0229179183333333
TotalSeconds      : 1.3750751
TotalMilliseconds : 1375.0751

使用ptime.exe程序

ptime.exe不属于Windows自带的程序,需要单点下载。使用时将ptime.exe放到待测程序相同目录或添加到系统环境,执行:ptime.exe 命令行指令。

ptime.exe ffmpeg.exe -i rtsp://test:123456@192.168.1.15:554/h264/ch0/sub/av_stream -y -f mjpeg -vframes 1 -loglevel quiet test.jpg

ptime 1.0 for Win32, Freeware - http://www.pc-tools.net/
Copyright(C) 2002, Jem Berkes <jberkes@pc-tools.net>

===  ffmpeg.exe -i rtsp://test:123456@192.168.1.15:554/h264/ch0/sub/av_stream -y -f mjpeg -vframes 1 -loglevel quiet test.jpg ===

Execution time: 1.370 s

参考链接: https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.utility/measure-command?view=powershell-7.3 http://www.pc-tools.net/win32/ptime/ https://stackoverflow.com/questions/673523/how-do-i-measure-execution-time-of-a-command-on-the-windows-command-line