Компиляция 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
👀 Смотрите также

Замена стандартной памяти OpenClaw на Redis и Qdrant для производственных мультиагентных систем
Разработчик заменил стандартную память SQLite в OpenClaw на Redis для временного состояния и Qdrant для постоянной векторной памяти, чтобы решить проблемы масштабирования в многозадачных агентных системах, реализовав семантический поиск, обмен данными между агентами и параллельную запись.

AGENTS.md Правильно: Повышение точности на 25% — или падение на 30%
Компания Augment Code провела соревновательное тестирование файлов AGENTS.md: лучшие из них дают эффект, сопоставимый с обновлением модели с Haiku до Opus; худшие — ухудшают результат. Таблицы решений, процедурные рабочие процессы и прогрессивное раскрытие информации оказались наиболее эффективными.

Руководство: Развертывание OpenClaw с llama.cpp на мини-ПК GEEKOM IT15
Техническое руководство подробно описывает переход OpenClaw с Ollama на llama.cpp для запуска локальной модели Qwen3-8B с ускорением на GPU Intel Arc, охватывая изменения конфигурации, ручное управление сервером и устранение типичных проблем.

Освоение OpenClaw 101: Руководство для начинающих, вдохновленное идеями пользователей Reddit.
Погрузитесь в OpenClaw с нашим практическим руководством, вдохновленным мнениями сообщества Reddit. Избегайте распространенных ошибок и повышайте свою продуктивность с помощью этих экспертных советов.