Skip to content

build: собирать emmyluacodestyle с оптимизацией - #3804

Open
bylins wants to merge 1 commit into
masterfrom
build/emmylua-optimization
Open

build: собирать emmyluacodestyle с оптимизацией#3804
bylins wants to merge 1 commit into
masterfrom
build/emmylua-optimization

Conversation

@bylins

@bylins bylins commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Скрипт из #3803 на боевом каталоге показал:

каталог сборки: build
  движок       -Og
  emmyluacodestyle (нет -O)
  fmt          -O2
  yaml-cpp     -O2

fmt и yaml-cpp в порядке, а форматтер Lua собран без оптимизации — и это, в отличие от моего случая, не следствие старого каталога. У остальных подпроектов в meson.build стоит optimization=2 в default_options, а у emmyluacodestyle — только warning_level=0. Верхний уровень собирается с buildtype=plain, meson сам никаких -O не добавляет, так что подпроект не получал оптимизации никогда, в том числе на свежем каталоге.

Что сделано

  • meson.buildoptimization=2 в default_options для emmyluacodestyle, как у fmt, gtest и остальных;
  • tools/check_build_optimization.py — знает про этот подпроект и помечает его как непорядок (раньше просто печатал «нет -O» без пометки, потому что его не было в списке ожидаемых).

Подключается форматтер только при -Dlua_formatter=true, так что в обычный игровой бинарь он не попадает — но раз собирается, пусть собирается по-человечески.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XUwDWDnYdXrJdvjDVd36QH

Форматтер Lua подключался без optimization в default_options, а верхний уровень
собирается с buildtype=plain -- то есть подпроект не получал никакого -O вообще
и на свежем каталоге тоже, в отличие от fmt и yaml-cpp.

Заодно скрипт проверки знает про него и теперь помечает как непорядок.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XUwDWDnYdXrJdvjDVd36QH
@bylins

bylins commented Aug 29, 2026

Copy link
Copy Markdown
Owner Author

@vkhanayev, это по твоей части — форматтер Lua.

Коротко: emmyluacodestyle у нас собирается без оптимизации, и не из-за старого каталога сборки, а потому что в meson.build ему, единственному из подпроектов, не передан optimization=2. Верхний уровень идёт с buildtype=plain, meson сам -O не добавляет — значит форматтер собирался неоптимизированным всегда, на любом каталоге.

Насколько это заметно, зависит от того, как часто его дёргают. Для сравнения, на fmt разница между сборкой с -O2 и без неё вышла пятикратной (104 нс против 525 нс на вызов).

В PR одна строка в meson.build плюс скрипт tools/check_build_optimization.py, который такие вещи показывает одной командой:

tools/check_build_optimization.py build

Посмотри, пожалуйста, — если форматтер где-то в горячем пути (например, при сохранении триггера), эффект может оказаться заметным.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant