TGViewer
Типичный программист Типичный программист @tproger · 78.2K subscribers
Post #14849 4.64K
Сколько стоит превратить enum в строку через рефлексию C++26

Чистый код без макросов оказался не бесплатным: в GCC 16 подключение <meta> заняло около 181 мс на единицу трансляции. Для enum из четырёх значений компиляция заняла 187 мс против 27 мс у X-macro с const char*.

Предкомпилированный заголовок сократил время до 81 мс, а модули GCC подняли его до 403 мс.

В разборе cost of enum-to-string есть код и замеры для enum от 4 до 1024 значений. Цифры относятся к текущей реализации GCC 16 на одном компьютере: для экспериментов с рефлексией сначала подключите предкомпилированный заголовок, а модули проверьте отдельным замером.
  • 👍 7
  • 🤣 6
  • ❤ 5
  • 🏆 5
  • 👎 2
  • 🙈 2
  • 🤪 2
  • 🍌 1
  • 😐 1
  • 😘 1
  • 🤷 1
More from @tproger
  1. Sep 28, 2026Как фиксированный объём работы помогает пережить пиковую нагрузку Память ещё есть, значит…
  2. Sep 28, 2026Зачем Cloudflare Workers переписали реестр модулей под правила Node.js Старый реестр разби…
  3. Sep 27, 2026Как Bitwarden шифрует хранилище и при чём здесь пароль Парольная фраза не шифрует ваши дан…
  4. Sep 27, 2026Как научить небольшую языковую модель соблюдать структуру ответа Модель на 350 млн парамет…
  5. Sep 26, 2026Почему JOIN с блокировкой строки может вернуть пустоту в PostgreSQL Строка есть, внешний к…
  6. Sep 26, 2026Как передавать Minecraft-сервер между компьютерами игроков Экзамены одного игрока выключил…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →