Если вы уже работали с
Engee Function, знаете: базовая функциональность дает свободу, но не всегда хватает точности. В этом посте разобраны приемы, которые превращают ваш кастомный блок в максимально эффективный вычислительный модуль ⚙️Что под капотом:
🔹 Явное определение выходных типов и размерностей.
Задайте явно типы данных и размерности, чтобы движок не тратил ресурсы на автоопределение. Это особенно важно при работе с большими матрицами или сложными системами сигналов.
🔹 Кэширование вычислений.
Используйте внутренние состояния и постоянные буферы для ускорения симуляций при множественных вызовах блока и уменьшения объема памяти.
Without cache:1.056730 seconds (1000.00 k allocations: 76.294 MiB, 90.59% gc time)
With cache:0.023816 seconds
🔹 Контроль прямого прохождения портов.
Возникла алгебраическая петля? Разорвите ее как вам необходимо с помощью контроля прямого прохождения порта.
🔹 Настройка шага расчета.
Определяйте собственный шаг расчета для управления частотой исполнения блока. Незаменимо, если блок должен работать реже или в отдельном дискретном контуре.
❗️Ключевая идея:
Engee Function — не просто “гибкий” блок с пользовательским кодом. Это инструмент, который позволяет использовать ваш код в моделях Engee максимально эффективно.
🔗 Полная статья: Продвинутое использование Engee Function →
Об этих и других лайфхаках расскажем и покажем в ходе Дня Engee 2025.
Ждем Вас!

