TGViewer
Тимур Хахалев про AI Coding Тимур Хахалев про AI Coding @the_ai_architect · 9.3K subscribers
Post #439 1.59K
Продолжение про мою версию OpenWhispr

Пока переписывал код с JS на TS, из репо openwhispr ко мне перекочевал github action 'pr-quality' – оно на каждый пуш в гитхаб запускает джобу, которая прогоняет все тесты и аудиты по всему репо. Полезно, но дорого.

В итоге, за несколько дней у меня впервые в жизни закончилась квота Github Actions. Отключил запуск тестов в gh actions и решил запускать их локально.
В один момент столкнулся с тем, что мак раскалился как сковородка, так что проишлось попросить codex сократить количество параллельных тестов и продолжил работать.

Спустя время заметил, что тесты занимают чудовищно много времени на один запуск - минут 17. А z.ai glm 5.3 flash, который переписывал код, любил запускать полный набор тестов после каждой мелочи!
Терпение кончилось и решил вместе с кодексом оптимизировать эти тесты.

Вот самые интересные чекпоинты того, как это происходило:

было 17:18 мин → стало 12:25 мин

- добавили кеш модулей для swift кода: 162 с → 4,6 с
- фальшивый ONNX worker не отвечал на завершение, поэтому 5 сценариев ждали настоящий таймаут: 25 → около 0,1 с.
- убрали лишнюю работу в двух проверках TypeScript-контрактов: 48 → 10,6 с.
- в тестах миграции настроек перестали после каждого сценария перезагружать весь граф Vite. Две дорогие группы сократились примерно с 30,6 до 4,3 с и с 17 до 3,9 с.

12:25 мин → 5:03 мин

- перенастроили запуск тестов - разделение по доменам, типам и условиям
- запуск тестов в два потока
- убрали проверки кода, который больше не используется.
- тесты, проверявшие скопированную в них логику, заменили проверками настоящего кода приложения.
- 57 проверок TypeScript-контрактов объединили в один запуск компилятора, вместо повторной компиляции для каждого файла.
- переиспользование запущенного vite server

Было 5:03 мин → стало 1:06 мин

- профилирование показало, что мы запускали с низким приоритетом не только тесты, но и сборку с компилятором. Раньше так пытались снизить нагрузку на Mac.
- убрали низкий приоритет: одна и та же сборка сократилась с 21,45 с до 2,90 с. Ограничение в два тестовых процесса сохранили.
- убрали ещё один лишний пятсекундный таймер и повторную подготовку нескольких тестов.
- полный прогон занял 60,43 с

Вывод такой – быстрая итерация для эффективной разработки очень сильно важна. И без агентов я бы скорее всего забил бы на эту оптимизацию, потому что это отняло бы у меня точно несколько рабочих дней

Лайк, репост,
✔️ Тимур Хахалев про AI Coding, подписывайтесь!
  • 🔥 14
  • ❤ 10
  • 👍 1
More from @the_ai_architect
  1. Sep 27, 2026Статистика по использованию моделей в Codex Ребята добавили стату в Codex, вот мои данные.…
  2. Sep 26, 2026Когнитивное искажение в мире AI Многие ошибочно считают, что любой учебный материал по AI…
  3. Sep 24, 2026Интересные инсайты по skills Тут недавно на Hacker News появился тред с вопросом "Как вы м…
  4. Sep 22, 2026Вы знали, что смена reasoning effort дропает кэш в ваших coding agents? А с astra / fable…
  5. Sep 21, 2026Зачем SDLC нужен рядовому разработчику? Проблема того, что немногие знают SDLC, в том, что…
  6. Sep 19, 2026AI Agentic SDLC Roadmap Я уже рассказал зачем нужен agentic SDLC, как он может выглядеть и…
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 →