Ответ 1
Вы можете посмотреть, как Boost.Hana делает свой бенчмаркинг. Его базовый код написан в основном в виде шаблонов eRuby. Шаблоны используются для создания файлов на С++, которые затем скомпилируются при сборе статистики компиляции и выполнения.
Для поиска необходимых значений -ftemplate-depth
и -fconstexpr-steps
, конечно, немного громоздко сделать вручную, но вы также можете написать script (Ruby, Python, независимо от того, что плавает ваша лодка), чтобы автоматизировать эту, Просто удвоьте начальное значение в простом цикле while
, пока программа не будет успешно скомпилирована.