我在Python中有一个命令行程序需要一段时间才能完成.我想知道完成跑步所需的确切时间.
我看过这个timeit模块,但它似乎只适用于小代码片段.我想要整个计划的时间.
我想在几个不同的条件下在linux shell中执行一些东西,并能够输出每次执行的执行时间.
我知道我可以编写一个可以执行此操作的perl或python脚本,但有没有办法在shell中执行此操作?(恰好是bash)
有没有一种简单的方法来计算PowerShell中命令的执行时间,比如Linux中的'time'命令?
我想出了这个:
$s=Get-Date; .\do_something.ps1 ; $e=Get-Date; ($e - $s).TotalSeconds
Run Code Online (Sandbox Code Playgroud)
但我想要更简单的东西
time .\do_something.ps1
Run Code Online (Sandbox Code Playgroud) 如何在批处理文件中获得两次差异?因为我想在HTML文件中打印它.
我认为这是可能的,但事实并非如此.
Set "tijd=%time%"
echo %tijd%
echo %time%-%tijd%
Run Code Online (Sandbox Code Playgroud)
结果:
11:07:48,85
11:16:58,99-11:07:48,85
Run Code Online (Sandbox Code Playgroud)
但我想要的是:
00:09:10,14
Run Code Online (Sandbox Code Playgroud)
或9分10秒或550秒
如何编写脚本来计算脚本完成的时间?
我以为情况确实如此,但显然不是......
@echo off
set starttime=%time%
set endtime=%time%
REM do stuff here
set /a runtime=%endtime%-%starttime%
echo Script took %runtime% to complete
Run Code Online (Sandbox Code Playgroud) 我正在编写一个小程序,必须对一个大型数组(最多400万个文本字符串)进行排序.似乎我在这方面做得很好,因为radixsort和mergesort的组合已经将原始q(uick)排序执行时间减少了不到一半.
执行时间是主要的一点,因为这是我用来对我的代码进行基准测试的.
我的问题是:
是否有更好的(即更可靠的)基准测试程序的方式,而不仅仅是执行的时间?它有点工作,但是如果运行两次,相同的程序(运行相同的后台进程)通常具有稍微不同的执行时间.
这有点挫败了检测小改进的目的.一些小的改进可能会增加一个很大的...
提前感谢任何输入!
结果:
我设法让gprof在Windows下工作(使用gcc和MinGW).与我的普通编译器(tcc)相比,gcc表现不佳(考虑执行时间),但它给了我很多洞察力.
有没有办法拆分%date%批处理文件(例如,在3个环境变量中),但不管区域设置如何?今天的日期将是3/13/2013针对美国的,但是我的区域设置是13.3.2013- 分隔符已更改,订单也是如此.
我有一个可能是一个愚蠢的问题,但我似乎无法在网上找到答案.在基于linux的系统中,在终端中输入"time"之前,任何命令都会根据实际,用户和系统时间给出命令所需的时间.例如,输入
time ls
Run Code Online (Sandbox Code Playgroud)
列出当前目录中的文件和文件夹,然后列出列出文件和文件夹所花费的实际,用户和系统时间.有窗户相当吗?我试图比较不同算法的性能,但没有Linux机器工作,所以我希望在Windows中有类似的命令.
你如何在DOS提示符下计算脚本?
*NIX等效物将是:
$ time myscript
real 0m0.886s
user 0m0.846s
sys 0m0.031s
$
Run Code Online (Sandbox Code Playgroud)
DOS是否相当于此?谢谢
如何编写简单的批处理文件来衡量基于控制台的应用程序的性能?控制台应用程序接受两个命令行参数.
我想得到:
StartTime = System Dos time
myconsoleapp arg1, arg2
StopTime = System Dos Time
timeDelta = stoptime - starttime
Run Code Online (Sandbox Code Playgroud)
我会将timeDelta写入控制台上的文件或显示.
有没有办法计算可执行文件的准确执行时间?
具体来说,我正在寻找一种可用于对使用 Matlab 编译的可执行文件进行计时的方法。我指的不是tic,toc。
在我的程序中,我想读取几个文本文件(超过约800个文件),每个文件有256行,文件名从1.txt到n.txt,并在几个处理步骤后存储到数据库中.我的问题是数据的读取速度.通过使用OpenMP多线程读取循环,我可以将程序速度提高到以前的两倍.有没有办法加快速度?我的实际代码是
std::string CCD_Folder = CCDFolder; //CCDFolder is a pointer to a char array
int b = 0;
int PosCounter = 0;
int WAVENUMBER, WAVELUT;
std::vector<std::string> tempstr;
std::string inputline;
//Input
omp_set_num_threads(YValue);
#pragma omp parallel for private(WAVENUMBER) private(WAVELUT) private(PosCounter) private(tempstr) private(inputline)
for(int i = 1; i < (CCD_Filenumbers+1); i++)
{
//std::cout << omp_get_thread_num() << ' ' << i << '\n';
//Umwandlung und Erstellung des Dateinamens, Öffnen des Lesekanals
std::string CCD_Filenumber = boost::lexical_cast<string>(i);
std::string CCD_Filename = CCD_Folder + '\\' + CCD_Filenumber + ".txt"; …Run Code Online (Sandbox Code Playgroud) 在我的一个批处理脚本中,我需要计算视频文件中间隔的持续时间.首先,要求用户输入开始和结束时间:
set /p StartPosition=Start position (HH:MM:SS):
set /p EndPosition=End position (HH:MM:SS):
Run Code Online (Sandbox Code Playgroud)
然后,我希望批处理脚本计算两者之间的持续时间.
我怎么能减去%StartPosition%从%EndPosition%这样的,例如:
00:10:40 - 00:10:30 = 00:00:10
我无法弄清楚如何做到这一点的原因是因为这些数字是用冒号分隔的.
编辑:这个问题与这个问题不同,因为我不需要将数字作为时间值来处理.
batch-file ×5
time ×5
windows ×4
cmd ×2
executable ×2
linux ×2
powershell ×2
bash ×1
benchmarking ×1
c ×1
c++ ×1
command-line ×1
date ×1
dos ×1
file ×1
matlab ×1
python ×1
runtime ×1
shell ×1
sorting ×1