MATLAB 帮助中心
启动秒表计时器
tic
timerVal = tic
tic 与 toc 函数结合使用,可以测量经过的时间。tic 函数记录当前时间,toc 函数使用记录的值计算经过的时间。
toc
示例
timerVal = tic 将当前时间存储在 timerVal 中以便您将其显式传递给 toc 函数。如果需要多次调用 tic 来对同一代码的不同部分计时,则传递此值非常有用。timerVal 是仅对 toc 函数有意义的整数。
timerVal
全部折叠
测量创建两个随机矩阵所需的时间。
tic A = rand(12000,4400); B = rand(12000,4400); toc
Elapsed time is 0.713026 seconds.
测量自调用 tic 函数以来到程序的不同时间点所经过的时间。
Elapsed time is 0.721158 seconds.
C = A.*B; toc
Elapsed time is 0.787970 seconds.
使用一对 tic 和 toc 调用来报告逐元素矩阵乘法所需的总时间;使用另一对调用来报告程序的总运行时间。
tStart = tic; % pair 2: tic n = 10; T = zeros(1,n); for i = 1:n A = rand(12000,4400); B = rand(12000,4400); tic % pair 1: tic C = A.*B; T(i)= toc; % pair 1: toc end tMul = sum(T)
tMul = 0.2611
tEnd = toc(tStart) % pair 2: toc
tEnd = 7.3172
变量 tMul 包括用在乘法计算上的总时间。tEnd 指定程序开始时调用 tic 函数以来经过的时间。
tMul
tEnd
连续调用 tic 函数会覆盖内部记录的开始时间。
clear 函数不会重置 tic 函数调用记录的起始时间。
clear
有时程序运行速度太快,导致 tic 和 toc 无法提供有用的数据。如果您的代码运行速度快于 1/10 秒,请考虑测量它在循环中运行的时间,然后求平均值以计算单次运行的时间。有关详细信息,请参阅衡量代码的性能。
以下操作会导致意外输出:
timeit
全部展开
用法说明和限制:
从 tic 返回的数据类型在 MATLAB® 和生成的代码之间是不同的。为避免错误,请不要在 MATLAB 中使用 MEX 函数的 tic 输出值,也不要在 MEX 函数中使用 MATLAB 的 tic 输出值。
如果您在 MATLAB 会话中调用 tic 和在 MEX 函数中调用 toc(反之亦然),则计时结果不协调。
生成代码中的 tic 的 C/C++ 实现因代码生成配置对象中存储的硬件设置而异。默认情况下,硬件设置是针对主机平台配置的,MATLAB Coder™ App 中的 Hardware Board 设置为 MATLAB Host Computer。
Hardware Board
MATLAB Host Computer
当在 Windows® 上使用 Windows 兼容的硬件设置生成代码时,生成的 C/C++ 实现使用 Windows API 函数 QueryPerformanceFrequency 和 QueryPerformanceCounter。
QueryPerformanceFrequency
QueryPerformanceCounter
在所有其他情况下,实现都使用 POSIX API clock_gettime。当编译使用 POSIX API 的代码时,预处理器宏 _POSIX_C_SOURCE 必须设置为大于或等于 199309L 的整数。代码生成器将宏设置为 199309L 进行编译。
clock_gettime
_POSIX_C_SOURCE
199309L
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
在 R2006a 之前推出
cputime | profile | timeit | toc
cputime
profile
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处