Как профилировщик получает данные о производительности

Как работы профилировщика

Профилировщик получает данные о производительности, в то время как ваша модель симулирует. Это идентифицирует части вашей модели, которые требуют, чтобы большая часть времени симулировала. Используйте профильную информацию, чтобы решить, где фокусировать ваши усилия по оптимизации модели.

Примечание

Вы не можете использовать Профилировщик в Быстром Режиме Accelerator.

Simulink® хранит данные о производительности в отчете профиля симуляции. Данные показывают, что время потратило выполнение каждой функции в вашей модели.

Основанием для Профилировщика является модель выполнения, которую обобщает этот псевдокод.

Sim() 
	ModelInitialize(). 
	ModelExecute() 
		for t = tStart to tEnd
		Output()
		Update()
		Integrate()
			Compute states from derivs by repeatedly calling: 
				MinorOutput() 
				MinorDeriv() 
			Locate any zero crossings by repeatedly calling: 
				MinorOutput() 
				MinorZeroCrossings() 
		EndIntegrate 
		Set time t = tNew. 
	EndModelExecute
	ModelTerminate
EndSim 

Согласно этой концептуальной модели, Simulink запускает модель путем вызова следующего нуля функций, один, или много раз, в зависимости от функции и модели.

ФункцияЦельУровень
sim

Симулируйте модель. Эта функция верхнего уровня вызывает другие функции, требуемые симулировать модель. Время, проведенное в этой функции, является общим временем, требуемым симулировать модель.

Система

ModelInitialize

Настройте модель для симуляции.

Система

ModelExecute

Выполните модель путем вызова выхода, обновления, интегрируйте, и т.д., функции для каждого блока на каждом временном шаге от запуска в конец симуляции.

Система

Output

Вычислите выходные параметры блока на шаге текущего времени.

Блок

Update

Обновите состояние блока на шаге текущего времени.

Блок

Integrate

Вычислите непрерывные состояния блока путем интеграции производных состояния на шаге текущего времени.

Блок

MinorOutput

Вычислите блокируют выход на незначительном временном шаге.

Блок

MinorDeriv

Вычислите производные состояния блока на незначительном временном шаге.

Блок

MinorZeroCrossings

Вычислите значения пересечения нулем блока на незначительном временном шаге.

Блок

ModelTerminate

Освободите память и выполните любую другую очистку конца симуляции.

Система

Nonvirtual Subsystem

Вычислите выход невиртуальной подсистемы на шаге текущего времени путем вызова выхода, обновления, интегрируйте, и т.д., функции для каждого блока, который это содержит. Время, проведенное в этой функции, является временем, требуемым выполнить невиртуальную подсистему.

Блок

Профилировщик измеряет время, требуемое выполнить каждый вызов этих функций. После того, как модель симулирует, Профилировщик генерирует отчет, который описывает сумму времени симуляции, потраченного на каждую функцию.

Запустите профилировщик

  1. Откройте модель.

  2. На вкладке Debug выберите Performance Advisor> Simulink Profiler.

  3. Симулируйте модель.

Когда симуляция завершена, Simulink генерирует и отображает профиль симуляции для модели в панели в редакторе Simulink.

Вид иерархии блоков

Представление иерархии блока отчета представляет профильную информацию модели во вложенной древовидной форме. Первая строка таблицы — который является верхушкой дерева — соответствует целой модели. Последующие строки на первом уровне вложения соответствуют блокам на корневом уровне модели.

nested hierarchy view

Представление Execution Stack

Представление стека выполнения ломает профильный отчет фазой симуляции модели. Основные фазы симуляции модели являются компиляцией, инициализацией, симуляцией и завершением. Для более подробного объяснения фаз симуляции смотрите Фазы Симуляции в Динамических системах.

Сохраните результаты профилировщика

Можно сохранить Отчет профилирования в mat файл. В более позднее время можно импортировать и рассмотреть отчет любой загрузкой сохраненного mat файл к текущей рабочей области или импорту это в существующий сеанс профилировщика.

Чтобы сохранить профильный отчет, выберите Export to MAT в разделе Share вкладки Profile и опционально задайте имя для mat файл.

Чтобы просмотреть сохраненный отчет на открытом профильном сеансе в редакторе Simulink, выберите Import from File во вкладке Profile.

Чтобы просмотреть сохраненный отчет в командной строке, загрузите mat файл, содержащий отчет. Профильная информация загружается в текущую рабочую область как Simulink.profiler.Data объект. Для получения дополнительной информации смотрите Simulink.profiler.Data.

Связанные примеры

Больше о