衡量代码的性能

衡量代码的性能

衡量代码的性能性能计时函数概述timeit 函数和秒表计时器函数 tic 和 toc 允许您计算代码运行所需的时间。使用 timeit 函数严格测量函数执行时间。使用 tic 和 toc 可估算运行较小部分代码而非整个函数的时间。

有关代码性能的其他详细信息(例如函数调用信息和各行代码的执行时间),请使用 MATLAB® 探查器。有关详细信息,请参阅探查您的代码以改善性能。

计时函数要测量运行函数所需的时间,请使用 timeit 函数。timeit 函数多次调用指定的函数,并返回测量结果的中位数。它采用要测量的函数的句柄并返回典型执行时间(以秒为单位)。假设您定义了一个函数 computeFunction,它采用两个在工作区中定义的输入 x 和 y。您可以使用 timeit 计算执行函数所需的时间。

f = @() myComputeFunction(x,y); % handle to function

timeit(f)计算部分代码的时间要计算某部分程序需要多长时间运行或者比较各部分程序的不同实现的速度,可使用秒表计时器函数 tic 和 toc。调用 tic 可启动计时器,紧接着 toc 可读取已用时间。

tic

% The program section to time.

toc有时程序运行速度太快,导致 tic 和 toc 无法提供有用的数据。如果您的代码运行速度快于 1/10 秒,请考虑测量它在循环中运行的时间,然后求平均值以计算单次运行的时间。

Cputime 函数与 tic/toc 和 timeit建议您使用 timeit 或 tic 和 toc 来度量代码的性能。这些函数会返回挂钟时间。与 tic 和 toc 不同,timeit 函数会调用您的代码多次,因此会考虑首次成本。

cputime 函数会测量总 CPU 时间并跨所有线程进行汇总。此测量值不同于 timeit 或 tic/toc 返回的挂钟时间,可能会造成误解。例如:

pause 函数的 CPU 时间通常很小,但挂钟时间会考虑暂停 MATLAB 执行的实际时间。因此,挂钟时间可能更长。

如果您的函数均匀使用四个处理核,则 CPU 时间可能约是挂钟时间的四倍。

有关测量性能的提示在测量代码的性能时,请考虑以下提示:

计算足够大的一部分代码的时间。理想情况下,您进行计时的代码运行时间应该超过 1/10 秒。

将您要尝试计时的代码放在函数中,而不是在命令行或脚本内部对其计时。

除非您是尝试测量首次成本,否则请多次运行代码。使用 timeit 函数。

请不要在测量性能时执行 clear all。有关详细信息,请参阅 clear 函数。

将您的输出分配给一个变量,而不是使其保留默认值 ans。

另请参阅timeit | tic | toc | profile

主题探查您的代码以改善性能提升性能的方法

你可能也喜欢

一个景一个页念什么
365bet繁体中文

一个景一个页念什么

📅 01-26 👀 2369
微信自助平台入口大全及常见问题解答
365bet繁体中文

微信自助平台入口大全及常见问题解答

📅 08-28 👀 3142
去哪里买正品塔罗牌?全面指南助你找到优质选择
刀剑2什么职业厉害?各个职业优缺点深度解析
365bet繁体中文

刀剑2什么职业厉害?各个职业优缺点深度解析

📅 08-30 👀 3589
【男篮世界杯前瞻E组】死亡之组!日本成炮灰
前瞻:世界杯“黑马”大猜想 他们能否异军突起?
365体育网址备用

前瞻:世界杯“黑马”大猜想 他们能否异军突起?

📅 07-14 👀 4615
鸥成语大全 鸥字成语有哪些
365体育网址备用

鸥成语大全 鸥字成语有哪些

📅 07-09 👀 9586
听完GALA乐队这首《爱有多久》,顿时满血复活
男人一见钟情的真相:生理冲动还是灵魂共鸣?科学解析爱情第一定律