Режимы Accelerator и Rapid Accelerator обеспечивают наилучшее улучшение скорости по сравнению с обычным режимом, когда время выполнения моделирования превышает время, необходимое для создания кода. Поэтому режимы Accelerator и Rapid Accelerator обычно работают лучше обычного, если время выполнения моделирования составляет несколько минут или более. Однако модели со значительным количеством функциональных блоков Stateflow ® или MATLAB могут показать лишь небольшое улучшение скорости по сравнению с обычным режимом, поскольку в обычном режиме эти блоки также моделируются посредством генерации кода.
Включение настраиваемых параметров в модель также может увеличить время моделирования.
На рисунке в общих чертах показана производительность гипотетической модели, моделируемой в режимах Normal, Accelerator и Rapid Accelerator.

Сплошные строки на рисунке показывают производительность, когда целевой код должен быть перестроен («все цели устарели»). Для этой гипотетической модели шкала времени составляет порядка минут, но она может быть длиннее для более сложных моделей.
Как показано на рисунке, время, необходимое для компиляции модели в обычном режиме, меньше времени, необходимого для построения целевого файла ускорителя или исполняемого файла ускорителя Rapid. Из рисунка видно, что для малого времени остановки моделирования нормальный режим приводит к более быстрому общему времени моделирования, чем режим ускорителя или режим ускорителя.
Точка пересечения, в которой режим Accelerator или режим Rapid Accelerator приводят к ускорению выполнения, зависит от сложности и содержания модели. Например, модели, работающие в режиме акселератора и содержащие большое количество блоков с использованием интерпретируемого кода (см. раздел Выбор блоков для режима акселератора), могут работать не намного быстрее, чем в обычном режиме, если время остановки моделирования не является очень большим. Аналогично, модели с большим количеством блоков диаграммы статофлоу или функциональных блоков MATLAB могут не показывать значительного улучшения скорости по сравнению с обычным режимом, если время остановки моделирования не является большим. Можно ускорить модели с помощью блоков диаграммы Stateflow или функциональных блоков MATLAB посредством генерации кода.
В целях иллюстрации график представляет модель с большим количеством блоков диаграммы Stateflow или функциональных блоков MATLAB. Кривая с меткой «Normal» будет иметь гораздо меньшее начальное прошедшее время, чем показано, если модель не будет содержать эти блоки.
Как показано пунктирными линиями на рисунке («все целевые объекты обновлены»), время, необходимое программному обеспечению Simulink ® для определения актуальности целевого объекта или исполняемого файла Rapid Accelerator, значительно меньше времени, необходимого для создания кода («все целевые объекты устарели»). Этот признак можно использовать при необходимости тестирования различных конструктивных компромиссов.
Например, можно один раз создать целевой код режима Accelerator и использовать его для моделирования модели с серией настроек усиления. Это особенно эффективный способ использования режимов ускорителя или быстрого ускорителя, поскольку этот тип изменений не приводит к регенерации целевого кода. Это означает, что целевой код генерируется при первом запуске модели, но при последующих запусках код Simulink тратит только время, необходимое для проверки актуальности целевого кода. Этот процесс намного быстрее, чем генерация кода, поэтому последующие прогоны могут быть значительно быстрее, чем начальный прогон.
Поскольку проверка целевых объектов выполняется быстрее, чем генерация кода, точка пересечения меньше, когда целевой объект находится в актуальном состоянии, чем когда код должен быть сгенерирован. Это означает, что последующие запуски модели могут моделироваться быстрее в режиме ускорителя или быстрого ускорителя по сравнению с обычным режимом даже в течение короткого времени остановки.
Вы можете использовать tic, toc, и sim для сравнения времени выполнения режима ускорителя или быстрого ускорителя с обычным режимом.
Откройте модель.
На вкладке «Моделирование» в разделе «Моделирование» выберите Normal из раскрывающегося меню.
Используйте tic, toc, и sim команды в командной строке для измерения продолжительности моделирования модели в нормальном режиме:
tic,[t,x,y]=sim('myModel',10000);toctic и toc совместно записывать и возвращать истекшее время и отображать следующее сообщение:
Elapsed time is 17.789364 seconds.
На вкладке «Моделирование» в разделе «Моделирование» выберите Accelerator или Rapid Accelerator из раскрывающегося меню. Создайте исполняемый файл для модели, щелкнув Выполнить (Run). Режимы ускорения используют этот исполняемый файл в последующих моделированиях, пока модель остается структурно неизменной. Регенерация кода в ускоренных моделях (Code Regeneration in Accelerated Models) рассказывает о том, что вызывает перестроение модели.
Повторно запустите скомпилированную модель в командной строке:
tic,[t,x,y]=sim('myModel',10000);tocОтображаемое прошедшее время показывает время выполнения ускоренной модели. Например:
Elapsed time is 12.419914 seconds.
Разница в времени (5,369450 секунд в этом примере) показывает улучшение, полученное за счет ускорения модели.