Компиляция JIT-кода за 5 мкс: создание быстрого JIT для Postgres pgrust
Исторически быстрая JIT-компиляция была черным искусством. Продакшн-базы данных либо используют LLVM, либо генерируют код на C/C++, оба подхода имеют высокое время компиляции. Теперь AI-ассистент делает практичным написание JIT-компилятора, который напрямую генерирует ассемблер, достигая времени компиляции около 5 мкс. Именно это автор сделал для pgrust, расширения Postgres на Rust.
Ключевое понимание: JIT-компиляция ценна, когда информация времени выполнения кардинально меняет поведение, например, при разборе данных с неизвестной схемой. Для баз данных JIT-компиляция каждого запроса может дать 2-5-кратный выигрыш в производительности, но только если время компиляции ничтожно мало. LLVM и генерация C/C++ занимают миллисекунды, что ограничивает их использование только сложными запросами. JIT за 5 мкс может обрабатывать каждый запрос.
Для демонстрации в статье строится игрушечный движок регулярных выражений, поддерживающий литералы и повторения (*). Регулярное выражение b(an)* используется в качестве бенчмарка. Интерпретируемая версия в 10-20 раз медленнее рукописного кода. Подход JIT направлен на устранение этого разрыва.
Ключевые моменты из поста:
- JIT-компиляция — это практика генерации скомпилированного кода во время выполнения, часто дающая 2-5-кратный прирост производительности.
- Традиционные пути JIT (LLVM, генерация C) страдают от высокого времени компиляции.
- AI-ассистент снижает барьер для написания JIT-компиляторов, генерирующих ассемблер.
- JIT-компилятор pgrust компилирует код примерно за 5 мкс, обеспечивая JIT для каждого SQL-запроса.
- Статья предоставляет прохождение по созданию простого движка регулярных выражений с JIT, пропуская парсер для простоты.
Для разработчиков, интересующихся внутренностями баз данных или техниками JIT, этот пост предлагает практические идеи о новом подходе, который может улучшить устаревшие системы.
📖 Читать полный источник: HN AI Agents
👀 Смотрите также

72-шаговая настройка Claude: от стандартного до продвинутого пользователя
Подробная статья в Medium содержит чек-лист из 72 шагов для настройки Claude — от стандартных параметров до продвинутых функций для опытных пользователей. Опубликована на HN с 10 баллами и 1 комментарием.

Принципы написания навыков для Claude Code на основе 159 открытых исходных навыков
Разработчик поделился 10 принципами написания эффективных навыков для Claude Code, основанными на создании и поддержке открытого реестра с 159 навыками. Принципы включают практические подходы, такие как использование папок вместо отдельных файлов, добавление разделов с подводными камнями и реализацию хуков по требованию.

Практические уроки от создания встроенного искусственного интеллекта в React Native
Разработчик делится конкретными техническими деталями создания приложения на React Native с локальными LLM, генерацией изображений, транскрипцией голоса и компьютерным зрением, включая стратегии управления памятью, выбор библиотек и тесты производительности.

Контрольный список для анализа производительности OpenClaw CLI
Пользователь Reddit делится шестишаговым чек-листом для диагностики медленных команд OpenClaw CLI, включая команды для измерения задержки, мониторинга системных ресурсов, проверки логов шлюза и изоляции проблем с конфигурацией.