比较性能
模拟模式的性能
当模拟执行时间超过代码生成所需的时间时,Accelerator和Rapid Accelerator模式比Normal模式提供了最佳的速度提高。因此,当模拟执行时间为几分钟或更长时间时,加速器和快速加速器模式通常比普通模式表现更好。然而,具有大量statflow的模型®或MATLAB函数块可能只显示了一个小的速度改进比正常模式,因为在正常模式下,这些块也通过代码生成模拟。
在模型中包含可调参数还可以增加模拟时间。
该图大致显示了在正常、加速和快速加速模式下模拟的假设模型的性能。
必须重建目标时的性能
图中的实线显示了必须重新构建目标代码时的性能(“所有目标都过期”)。对于这个假设的模型,时间刻度以分钟为数量级,但对于更复杂的模型,时间可能更长。
如图所示,在Normal模式下编译模型所需的时间少于构建Accelerator目标或Rapid Accelerator可执行文件所需的时间。从图中可以明显看出,对于较小的模拟停止时间,普通模式比加速模式或快速加速模式的整体模拟时间更快。
加速模式或快速加速模式导致更快执行时间的交叉点取决于模型的复杂性和内容。例如,那些在Accelerator模式下运行的模型包含大量使用解释代码的块(参见选择加速模式的块)可能不会比在正常模式下运行得更快,除非模拟停止时间非常大。类似地,具有大量状态流图块或MATLAB函数块的模型可能不会比正常模式显示出很大的速度提高,除非仿真停止时间很长。
为了说明目的,该图形表示一个具有大量状态流图块或MATLAB函数块的模型。如果模型不包含这些块,那么标记为“Normal”的曲线的初始运行时间将比所显示的要小得多。
当目标是最新时的性能
如图中虚线所示(“所有目标最新”),即Simulink的时间万博1manbetx®用于确定Accelerator目标或Rapid Accelerator可执行文件是否最新的软件的时间明显少于生成代码所需的时间(“所有目标都过时”)。当您希望测试各种设计权衡时,您可以利用这个特性。
例如,您可以一次性生成加速器模式目标代码,并使用它模拟具有一系列增益设置的模型。这是使用Accelerator或Rapid Accelerator模式的一种特别有效的方式,因为这种类型的更改不会导致目标代码重新生成。这意味着目标代码是在模型第一次运行时生成的,但是在随后的运行中,Simulink代码只花必要的时间来验证目标是最新的。万博1manbetx此过程比生成代码快得多,因此后续运行可能比初始运行快得多。
因为检查目标比代码生成要快,所以当目标是最新的时,交叉点比必须生成代码时要小。这意味着与正常模式相比,在Accelerator或Rapid Accelerator模式下的模型后续运行可能模拟得更快,即使是在较短的停止时间内。
测量性能
您可以使用抽搐
,toc
,sim卡
命令将加速模式或快速加速模式的执行时间与普通模式进行比较。
打开您的模型。
从模拟>模式菜单中,选择正常的.
使用
抽搐
,toc
,sim卡
在命令行提示符处执行命令,以测量模型在正常模式下模拟所需的时间:抽搐,t, x, y = sim (myModel, 10000); toc
抽搐
而且toc
共同记录并返回经过的时间,并显示如下信息:运行时间为17.789364秒。
选择加速器或快速的加速器从模拟>模式菜单,并通过单击为模型构建可执行文件运行按钮。只要模型保持结构不变,加速模式在后续模拟中使用此可执行文件。加速模型中的代码再生讨论导致模型重新构建的因素。
在命令提示符处重新运行编译后的模型:
抽搐,t, x, y = sim (myModel, 10000); toc
显示的运行时间显示加速模型的运行时间。例如:
运行时间为12.419914秒。
运行时间的差异(在本例中为5.369450秒)显示了通过加速模型获得的改进。