pgrust обогнал ClickHouse в его же бенчмарке — до 3 раз

Programming at Light Speed: Building the Gravity Query Engine

pgrust обогнал ClickHouse в его же бенчмарке — до 3 раз

Новый движок Gravity в pgrust v0.4-beta обгоняет ClickHouse на ClickBench до трёх раз, сохраняя полную поддержку диалекта и типов Postgres. Авторы пошли не от профилирования, а от физического предела: Claude написал оптимизированные Rust-программы прямо поверх колоночного формата, показавшие потолок скорости. Gravity компилирует SQL в ассемблер через Postgres-план, граф конвейеров и Lisp IR, целясь в 20% от этого потолка.

Вместо того чтобы постепенно ускорять существующий движок запросов, мы решили начать с физического предела скорости нашего железа и формата хранения и двигаться в обратную сторону.
  1. landhar

    > Обычно, когда инженеры пытаются ускорить программное обеспечение, они работают снизу вверх. Они запускают бенчмарк, смотрят на флеймграф, находят горячую точку и пытаются ускорить свой код на 15% или 20%. Проблема подхода снизу вверх в том, что вы не знаете, каков потолок. Вы можете быть в 20% от самого быстрого возможного кода, который может выполнить железо, а можете быть в 100 раз дальше.

    > Когда мы начали создавать Gravity, мы перевернули этот вопрос. Мы спросили себя: насколько быстро база данных может работать на самом деле? Вместо того чтобы постепенно ускорять наш существующий движок запросов, мы хотели начать с физического предела скорости нашего оборудования и формата файлов и двигаться в обратном направлении. Мне нравится называть это «программированием на скорости света».

    То, что описывается как «обычный» подход к оптимизации кода, на самом деле скорее «наивный» подход. Любая серьёзная работа по оптимизации производительности следовала бы подходу, при котором сначала определяется, каков потолок, допускаемый оборудованием, и проводится бенчмарк относительно него. И это было верно ещё до LLM.

    См., например: https://www.marginalia.nu/log/a_106_native_calls/

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

  2. cube2222

    После недавних несколько обескураживающих новостей о clickbench, попавших в новости, должен сказать, что этот пост в блоге очень крут.

    Похоже, вы нашли отличный способ структурировать эту проблему, чтобы решить её с помощью Claude (для тех, кто не переходит по ссылке в статью — написание вручную/оптимизированного Claude кода на Rust для каждого запроса, проверка его ассемблера и попытка заставить свой собственный оптимизатор генерировать что-то близкое к тому же ассемблеру), и статья тоже очень интересная и читаемая!

    Респект, с нетерпением жду новых постов в блоге, подобных этому.

  3. agumonkey

    Ребята из pgrust исторически лисперы?

Ещё за этот день

2026-10-30