Время, необходимое для создания кода модели, зависит от размера и настроек конфигурации модели. Например, при работе с большой моделью может потребоваться некоторое время для создания кода. Чтобы уменьшить время создания кода модели, попробуйте использовать один или несколько из следующих методов:
Построение модели с приращениями
Параллельное построение иерархий ссылок на большие модели
Минимизация требований к памяти при создании кода
Создать только код
Отключение создания отчета о создании кода
Вы можете использовать slbuild для построения модели и создания кода. По умолчанию при перестроении модели slbuild обеспечивает инкрементное построение модели, которое восстанавливает только модель или подмодели, которые изменились с момента последнего построения модели. Инкрементное построение модели экономит время генерации кода. Используйте параметр Перестроить (Rebuild) на панели Привязка модели (Model Referencing), чтобы изменить метод, используемый Simulink ® для определения времени перестроения кода для ссылочных моделей. Дополнительные сведения о параметре «Перестроить» см. в разделе Перестроение.
В среде параллельных вычислений, когда условия позволяют, можно увеличить скорость генерации и компиляции кода путем параллельного построения моделей, содержащих большие ссылочные иерархии моделей. Например, при наличии программного обеспечения Parallel Computing Toolbox™ можно распределить генерацию и компиляцию кода для каждой ссылочной модели по ядрам многоядерного хост-компьютера. При наличии программного обеспечения MATLAB ® Parallel Server™ можно распределить генерацию и компиляцию кода для каждой ссылочной модели между удаленными работниками в конфигурации MATLAB Parallel Server.
Повышение скорости выполнения за счет использования параллельных построений для ссылочных моделей зависит от нескольких факторов, включая:
Сколько моделей можно построить параллельно для данной модели, ссылающейся на иерархию
Размер ссылочных моделей
Параллельные вычислительные ресурсы, такие как количество доступных локальных и удаленных сотрудников
Аппаратные атрибуты локальной и удаленной машин (объем оперативной памяти, количество ядер и т.д.)
Дополнительные сведения см. в разделе Сокращение времени сборки ссылочных моделей с помощью параллельных построений.
Модели с большими объемами данных параметров и констант (например, таблицы подстановки) могут облагать налогом ресурсы памяти и медленную генерацию кода. Генератор кода копирует эти данные в model.rtw файл. model.rtw файл является частичным представлением модели, которую компилятор целевого языка анализирует, чтобы преобразовать вычисления блоков, параметры, сигналы и постоянные данные в язык высокого уровня (например, C). Компилятор целевого языка (TLC) является неотъемлемой частью генератора кода. Генератор кода копирует параметры и данные в model.rtwнезависимо от того, происходят ли они из модели или из переменных или объектов в рабочей области.
Можно повысить скорость генерации кода, указав максимальное количество элементов, которое могут иметь векторы данных для копирования этих данных генератором кода. model.rtw. Когда вектор данных превышает указанный размер, генератор кода помещает справочный ключ в model.rtw. TLC использует этот ключ для доступа к данным из Simulink и форматирования их в сгенерированный код. Справочные ключи приводят к сохранению в памяти только одной копии больших векторов данных.
Значение по умолчанию, выше которого генератор кода использует ссылочные ключи вместо фактических значений данных, равно 10 элементам. Это значение можно проверить. В окне команд введите следующую команду:
get_param(0, 'RTWDataReferencesMinSize')
Чтобы установить другое значение порога, в окне команд введите следующее: set_param функция:
set_param(0, 'RTWDataReferencesMinSize', <size>)
Укажите целое значение для size определяет количество элементов данных, над которыми генератор кода использует ссылочные ключи вместо фактических значений данных.
Можно увеличить скорость генерации кода, указав, что процесс сборки генерирует код и make-файл, но не вызывает команду make. Когда генератор кода вызывает команду make, процесс построения занимает больше времени, поскольку генератор кода генерирует код, компилирует код и создает исполняемый файл.
На панели Создание кода (Code Generation) диалогового окна Параметры конфигурации модели (Model Configuration Parameters) можно указать, что процесс построения генерирует только код, выбрав параметр Генерировать только код (Generate code only). Можно указать, что процесс создания кода создает make-файл, выбрав Параметры конфигурации > Создание кода > Процесс построения > Конфигурация Makefile > Создать make-файл.
Можно ускорить создание кода, не создавая отчет о создании кода как часть процесса сборки. Чтобы отключить создание отчета о создании кода, на панели «Создание кода» > «Отчет» снимите флажок «Создать отчет о создании кода». После завершения процесса построения можно создать отчет о создании кода, выполнив следующую процедуру: Создать отчет о создании кода после процесса построения.