Чистый код без макросов оказался не бесплатным: в GCC 16 подключение
<meta> заняло около 181 мс на единицу трансляции. Для enum из четырёх значений компиляция заняла 187 мс против 27 мс у X-macro с const char*.Предкомпилированный заголовок сократил время до 81 мс, а модули GCC подняли его до 403 мс.
В разборе cost of enum-to-string есть код и замеры для enum от 4 до 1024 значений. Цифры относятся к текущей реализации GCC 16 на одном компьютере: для экспериментов с рефлексией сначала подключите предкомпилированный заголовок, а модули проверьте отдельным замером.
