本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

性能和内存

提高性能;确定和降低内存需求

以简单、易读的方式编写您的代码,特别是对于第一次实现。过早优化的代码可能带来无谓的复杂性,而不会显著改善性能。然后,如果速度不佳,您可以测量代码运行所需的时间并探查代码的瓶颈所在。如有必要,您可以分步执行来提高性能。

MATLAB® 会自动处理数据存储。但是,如果内存是问题所在,您可以确定内存需求并应用技术来更有效地使用内存。

函数

全部展开

timeit测量运行函数所需的时间
tic启动秒表计时器
toc从秒表读取已用时间
cputime已用的 CPU 时间
profile探查函数的执行时间
benchMATLAB 基准
memory显示内存信息
inmem函数名称、MEX 文件、内存中的类
pack合并工作区内存
memoize向函数句柄添加储存语义
MemoizedFunction调用储存的函数并缓存结果
clearAllMemoizedCaches清除所有 MemoizedFunction 对象的缓存

主题

测量和探查代码

测量程序性能

要计算代码运行所需的时间,请使用 timeit 函数或秒表计时器函数 tictoc

探查以提升性能

要确定哪些代码行最耗时或 MATLAB 未运行哪些行,请探查您的代码。

使用探查器可确定代码覆盖率

要确定探查文件时 MATLAB 执行了该文件的多大范围,请运行覆盖范围报告。

改善性能

提升性能的方法

要提升代码的性能,您可以考虑多种方法。

确定和降低内存要求

MATLAB 如何分配内存

了解 MATLAB 如何分配内存以编写更高效使用内存的代码。

高效使用内存的策略

减少您的程序所需的内存量、确定相应的数据存储、避免内存碎片化以及回收使用的内存。

避免不必要的数据副本

MATLAB 可以在通过值传递函数输入时应用内存优化。

解决“内存不足”错误

每当 MATLAB 从操作系统请求的内存段大于可用内存时,它就会生成一则 Out of Memory 消息。