Время компиляции государственных машин с >80 переходов, которые заставят вас штурмовать офис финансового директора и убедиться, что вы получите блестящий octocore с 12 ГБ ОЗУ на следующей неделе, если он не заинтересован в том, чтобы заплатить вам, чтобы вы смотрели, как компилятор мучается часами... (Удостоверьтесь, что вы просите двойную 24′′, это не повредит).
eUML позволяет очень длинные конструкции, но также быстро увеличивает время компиляции на некоторых компиляторах (VC9, VC10) с поддержкой багги-деклотипа (я подозреваю, что там есть по крайней мере некоторые квадратичные алгоритмы). Даже g++ 4.4 показывает некоторую регрессию по сравнению с 4.3 и будет падать, если конструкции станут слишком большими.
Необходимо перезаписать mpl::vector/list по умолчанию размер-лимит 20 и fusion по умолчанию размер вектора 10, если в машине состояния обнаружено более 10 состояний.
Статья Limitations раздела Meta State Machine (MSM) Chapter 4. Performance / Compilers может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.