MATLAB 帮助中心
从秒表读取已用时间
toc
toc(timerVal)
elapsedTime = toc
elapsedTime = toc(timerVal)
toc 读取由调用 tic 函数启动秒表计时器以来经过的时间。MATLAB® 读取执行 toc 函数时的内部时间,并显示最近一次不带输出调用 tic 函数以来经过的时间。经过的时间以秒为单位表示。
tic
示例
toc(timerVal) 显示自调用对应于 timerVal 的 tic 函数以来经过的时间。
timerVal
elapsedTime = toc 返回自最近一次调用 tic 函数以来经过的时间。
elapsedTime = toc(timerVal) 返回自调用对应于 timerVal 的 tic 函数以来经过的时间。
全部折叠
测量创建两个随机矩阵所需的时间。
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 函数保存的内部计时器的值,指定为 uint64 类型的标量。
uint64
连续调用没有输入的 toc 函数,会返回自最近调用 tic 以来的已用时间。此属性使您能够从单个时间点进行多次测量。
连续调用具有相同的 timerVal 输入的 toc 函数,会返回自对应于 timerVal 的 tic 函数调用以来的已用时间。
有时程序运行速度太快,导致 tic 和 toc 无法提供有用的数据。如果您的代码运行速度快于 1/10 秒,请考虑测量它在循环中运行的时间,然后求平均值以计算单次运行的时间。有关详细信息,请参阅衡量代码的性能。
以下操作会导致意外输出:
timeit
全部展开
用法说明和限制:
从 toc 返回的数据类型在 MATLAB 和生成的代码之间是不同的。为避免错误,请不要在 MATLAB 中使用 MEX 函数的 toc 输出值,也不要在 MEX 函数中使用 MATLAB 的 toc 输出值。
如果您在 MATLAB 会话中调用 tic 和在 MEX 函数中调用 toc(反之亦然),则计时结果不协调。
生成代码中的 toc 的 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 | tic | timeit
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处