TGViewer
Rust Rust @rust_code · 8.92K subscribers
Post #1088 3.96K
🦀 Почему Databento не переписали feed-handler на Rust

Команда Databento рассматривала Rust для переписывания высоконагруженного feed-handler, обрабатывающего 14 млн сообщений в секунду с задержкой <100 мкс.
Итог — выбрали C++23, и вот почему 👇

Контекст
Старый код имел слишком общую архитектуру, много общей памяти и сложную многопоточность. Цель — переписать просто, модульно и предсказуемо быстро.

Почему Rust казался логичным выбором
- Уже используется в других системах Databento (DBN кодеки, клиентская библиотека, Python bindings).
- Отличные инструменты (cargo, тесты, документация).
- Безопасность и защита от data race.

Но столкнулись с ограничениями
1️⃣ Переиспользование буфера
Хотели читать данные в один буфер без перераспределений. Borrow checker не позволил, т.к. не понимает, что данные не переживают итерацию.

2️⃣ Самоссылочные структуры
Типичный C++ паттерн «класс владеет состоянием, подкомпоненты держат ссылки» не работает в Rust без Rc/Arc — добавляя оверхед и сложность.

3️⃣ Компиляционные дженерики
В C++ шаблоны дают гибкость (constexpr, partial specialization), а в Rust через traits и const generics — пока ограничено.

Итог
Rust — мощный и безопасный, но его строгая модель владения мешала ключевым оптимизациям под этот конкретный low-latency кейс.
C++ дал больше контроля и лучше вписался в существующую инфраструктуру.

📄 Полная статья: https://databento.com/blog/why-we-didnt-rewrite-our-feed-handler-in-rust
  • 🤔 22
  • ❤ 11
  • 🤣 6
  • 👍 4
  • 🤯 4
  • 😱 4
More from @rust_code
  1. Sep 26, 2026Как создать пустой vector по-гениальному
  2. Sep 24, 2026🦀 Как доказать, что Rust-код работает правильно: Amazon рассказывает о Verus Rust предотв…
  3. Sep 24, 2026❌В IT сейчас кризис джунов, но только не в кибербезе. ❗️Рынку не хватает 50 000 специалист…
  4. Sep 24, 2026Rust без аллокатора: `fff` снизил пиковое потребление памяти через `mmap` Во время тестиро…
  5. Sep 23, 2026photo post
  6. Sep 20, 2026Zero cost
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 →