This media is not supported in your browser
VIEW IN TELEGRAM
📊 Мониторинг использования свопа в реальном времени
Swaptop — это инструмент с TUI для мониторинга использования свопа на Linux и Windows. Он отображает процессы, использующие своп, и предоставляет графики с обновлением в реальном времени.
🚀Основные моменты:
- Анимированный график использования свопа
- Отслеживание потребления свопа на уровне процессов
- Групповой режим для агрегированного просмотра
- Поддержка нескольких цветовых тем
- Низкое потребление памяти (<5MB)
📌 GitHub: https://github.com/luis-ota/swaptop
#rust
Swaptop — это инструмент с TUI для мониторинга использования свопа на Linux и Windows. Он отображает процессы, использующие своп, и предоставляет графики с обновлением в реальном времени.
🚀Основные моменты:
- Анимированный график использования свопа
- Отслеживание потребления свопа на уровне процессов
- Групповой режим для агрегированного просмотра
- Поддержка нескольких цветовых тем
- Низкое потребление памяти (<5MB)
📌 GitHub: https://github.com/luis-ota/swaptop
#rust
❤16👍6🔥1🥰1
🚀 Интеллектуальное управление ошибками в Rust
unwrap_or_ai — это революционное решение для обработки ошибок, использующее ИИ для создания идеальных запасных данных. Система анализирует структуру вашего кода и мгновенно генерирует контекстуальные ответы, обеспечивая надежность и оптимизацию производственных процессов.
🚀 Основные моменты:
- 🧠 Глубокий анализ кода для точного восстановления
- ⚡ Мгновенное создание запасных данных
- 🎯 Интеллектуальное предсказание потребностей приложения
- 🔄 Легкая интеграция в существующий код
- 📈 Оптимизировано для корпоративного использования
📌 GitHub: https://github.com/NoodlesOfWrath/unwrap_or_ai
#rust
unwrap_or_ai — это революционное решение для обработки ошибок, использующее ИИ для создания идеальных запасных данных. Система анализирует структуру вашего кода и мгновенно генерирует контекстуальные ответы, обеспечивая надежность и оптимизацию производственных процессов.
🚀 Основные моменты:
- 🧠 Глубокий анализ кода для точного восстановления
- ⚡ Мгновенное создание запасных данных
- 🎯 Интеллектуальное предсказание потребностей приложения
- 🔄 Легкая интеграция в существующий код
- 📈 Оптимизировано для корпоративного использования
📌 GitHub: https://github.com/NoodlesOfWrath/unwrap_or_ai
#rust
GitHub
GitHub - NoodlesOfWrath/unwrap_or_ai: Transform your failing Rust functions into INTELLIGENT SUCCESS SYSTEMS
Transform your failing Rust functions into INTELLIGENT SUCCESS SYSTEMS - NoodlesOfWrath/unwrap_or_ai
💊47😁24🖕7❤4🥰2👍1
🚀 Современный балансировщик нагрузки и API Gateway
Pingoo — это быстрый и безопасный балансировщик нагрузки, API Gateway и обратный прокси с встроенной службой обнаружения, защитой от ботов и WAF. Он обеспечивает высокую производительность и безопасность, позволяя вам управлять данными на собственных серверах.
🚀 Основные моменты:
- Поддержка обнаружения сервисов (Docker, DNS)
- Встроенный WAF и защита от ботов
- Постквантовый TLS для безопасности
- GeoIP для определения местоположения
- Полный контроль над данными без сторонних сервисов
📌 GitHub: https://github.com/pingooio/pingoo
#rust
Pingoo — это быстрый и безопасный балансировщик нагрузки, API Gateway и обратный прокси с встроенной службой обнаружения, защитой от ботов и WAF. Он обеспечивает высокую производительность и безопасность, позволяя вам управлять данными на собственных серверах.
🚀 Основные моменты:
- Поддержка обнаружения сервисов (Docker, DNS)
- Встроенный WAF и защита от ботов
- Постквантовый TLS для безопасности
- GeoIP для определения местоположения
- Полный контроль над данными без сторонних сервисов
📌 GitHub: https://github.com/pingooio/pingoo
#rust
GitHub
GitHub - pingooio/pingoo: The fast and secure Load Balancer / API Gateway / Reverse Proxy with built-in service discovery, GeoIP…
The fast and secure Load Balancer / API Gateway / Reverse Proxy with built-in service discovery, GeoIP, WAF, bot protection and much more - https://pingoo.io - pingooio/pingoo
👍13🔥13❤4🥰1🌚1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁85🎃15💯10👍7🤔4😱3❤2🔥1🥰1
Rust задача для разминки
У тебя есть вектор чисел, и нужно вернуть индексы двух элементов, сумма которых равна заданному числу
Но — нельзя использовать вложенные циклы (O(n²)). Сделай решение за O(n).
Условие
Пример:
Подсказка 💡
- Подумай про использование HashMap:
- сохраняй уже просмотренные числа и их индексы
- при просмотре нового элемента проверяй, есть ли в HashMap нужное дополнение (target - num)
Так можно пройтись по массиву один раз и сразу найти ответ. 🚀
У тебя есть вектор чисел, и нужно вернуть индексы двух элементов, сумма которых равна заданному числу
target. Но — нельзя использовать вложенные циклы (O(n²)). Сделай решение за O(n).
Условие
fn two_sum(nums: Vec<i32>, target: i32) -> Option<(usize, usize)> {
// твой код
}Пример:
let nums = vec![2, 7, 11, 15];
let target = 9;
// ожидаем Some((0,1)), потому что 2 + 7 = 9
Подсказка 💡
- Подумай про использование HashMap:
- сохраняй уже просмотренные числа и их индексы
- при просмотре нового элемента проверяй, есть ли в HashMap нужное дополнение (target - num)
Так можно пройтись по массиву один раз и сразу найти ответ. 🚀
❤15🤷♂6👍6🥰2🔥1
🔥 Успех в IT = скорость + знания + окружение
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: https://t.iss.one/+EPEFXp67QfIyMjMy
Python: https://t.iss.one/+cq7O4sOHldY1ZTIy
Linux: t.iss.one/linuxacademiya
Собеседования DS: t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
Devops: t.iss.one/DevOPSitsec
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg
Физика: t.iss.one/fizmat
💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: https://t.iss.one/+EPEFXp67QfIyMjMy
Python: https://t.iss.one/+cq7O4sOHldY1ZTIy
Linux: t.iss.one/linuxacademiya
Собеседования DS: t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
Devops: t.iss.one/DevOPSitsec
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg
Физика: t.iss.one/fizmat
💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
❤4🔥2👍1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Copycolors
Это интерфейс командной строки для быстрого извлечения доминирующих цветов из локальных или удаленных изображений.
Он построен на Rust и по сути основан на реализации алгоритма Colors Thief.
https://github.com/AbdoulMa/copycolors
Это интерфейс командной строки для быстрого извлечения доминирующих цветов из локальных или удаленных изображений.
Он построен на Rust и по сути основан на реализации алгоритма Colors Thief.
https://github.com/AbdoulMa/copycolors
❤14👍5🥰1
🚀 Многоязычный командный инструмент для разработчиков
run — это универсальный инструмент для выполнения кода на более чем 25 языках программирования с единым интерфейсом. Он упрощает работу, позволяя запускать и тестировать код без необходимости настраивать множество компиляторов и интерпретаторов.
🚀 Основные моменты:
- Поддержка более 25 языков программирования
- Удобный REPL для интерактивного программирования
- Единый интерфейс для выполнения кода
- Быстрая настройка и запуск без лишних сложностей
- Построен на Rust для высокой производительности и надежности
📌 GitHub: https://github.com/Esubaalew/run
#rust
run — это универсальный инструмент для выполнения кода на более чем 25 языках программирования с единым интерфейсом. Он упрощает работу, позволяя запускать и тестировать код без необходимости настраивать множество компиляторов и интерпретаторов.
🚀 Основные моменты:
- Поддержка более 25 языков программирования
- Удобный REPL для интерактивного программирования
- Единый интерфейс для выполнения кода
- Быстрая настройка и запуск без лишних сложностей
- Построен на Rust для высокой производительности и надежности
📌 GitHub: https://github.com/Esubaalew/run
#rust
GitHub
GitHub - Esubaalew/run: Universal multi-language runner and smart REPL written in Rust.
Universal multi-language runner and smart REPL written in Rust. - Esubaalew/run
🔥10👍7❤2🥰1😁1
🦀 Rust LLM from Scratch
RustGPT — это реализация языковой модели на основе трансформеров, созданная с нуля на Rust без внешних ML-фреймворков. Проект включает предобучение на фактическом тексте, настройку для диалогового ИИ и интерактивный режим тестирования.
🚀 Основные моменты:
- Полное предобучение и настройка модели
- Модульная архитектура с четким разделением задач
- Использование
- Поддержка градиентного спуска и обрезки градиентов
- Интерактивный режим для тестирования модели
📌 GitHub: https://github.com/tekaratzas/RustGPT
#rust
RustGPT — это реализация языковой модели на основе трансформеров, созданная с нуля на Rust без внешних ML-фреймворков. Проект включает предобучение на фактическом тексте, настройку для диалогового ИИ и интерактивный режим тестирования.
🚀 Основные моменты:
- Полное предобучение и настройка модели
- Модульная архитектура с четким разделением задач
- Использование
ndarray для операций с матрицами- Поддержка градиентного спуска и обрезки градиентов
- Интерактивный режим для тестирования модели
📌 GitHub: https://github.com/tekaratzas/RustGPT
#rust
GitHub
GitHub - tekaratzas/RustGPT: An transformer based LLM. Written completely in Rust
An transformer based LLM. Written completely in Rust - tekaratzas/RustGPT
❤29👍10🔥6😁3❤🔥1🥰1
📚Gramax: Документация как код
Gramax — это бесплатное приложение для создания, редактирования и публикации документации в формате Markdown. Оно обеспечивает гибкость и доступность оффлайн, а также интеграцию с Git для контроля версий и совместной работы. Идеально подходит для продуктовой документации, внутренних баз знаний и личных заметок.
🚀Основные моменты:
- Интуитивный визуальный редактор для Markdown
- Кроссплатформенное приложение для Windows, Mac и Linux
- Локальное хранение файлов в формате Markdown
- Поддержка 17 языков для создания документации
- Интеграция с Git для коллаборации и контроля версий
📌 GitHub: https://github.com/Gram-ax/gramax
Gramax — это бесплатное приложение для создания, редактирования и публикации документации в формате Markdown. Оно обеспечивает гибкость и доступность оффлайн, а также интеграцию с Git для контроля версий и совместной работы. Идеально подходит для продуктовой документации, внутренних баз знаний и личных заметок.
🚀Основные моменты:
- Интуитивный визуальный редактор для Markdown
- Кроссплатформенное приложение для Windows, Mac и Linux
- Локальное хранение файлов в формате Markdown
- Поддержка 17 языков для создания документации
- Интеграция с Git для коллаборации и контроля версий
📌 GitHub: https://github.com/Gram-ax/gramax
🔥11❤3👍2🥰2
🔥 Ubuntu 25.10: эпоха Rust пришла!
Главные изменения релиза:
🦀 GNU Coreutils → uutils coreutils - теперь на Rust
🔒 sudo → sudo-rs — тоже на Rust, безопаснее и современнее
🖼️ Eye of GNOME → Loupe — новый просмотрщик изображений на Rust
⚙️ Glycin library для декодирования изображений — снова Rust
🧠 GNOME 49 и полный отказ от X11 - теперь Wayland по умолчанию
🪄 XWayland остался только для старых X11-приложений
📦 APT 3.0 — новый движок Solver3, свежий UI, снапшоты и прощай apt-key
💻 GNOME Terminal → Ptyxis — современный терминал с интеграцией в Toolbox, Distrobox, Podman, JHBuild
⏱️ systemd-timesyncd → Chrony с поддержкой Network Time Security (NTS)
🧩 Rust-компоненты снижают риски use-after-free и buffer overflow
🐧 Ядро Linux обновлено до 6.17
Ubuntu становится не просто дистрибутивом, а витриной Rust-безопасной Linux-экосистемы.
https://releases.ubuntu.com/questing
@rust_code
Главные изменения релиза:
🦀 GNU Coreutils → uutils coreutils - теперь на Rust
🔒 sudo → sudo-rs — тоже на Rust, безопаснее и современнее
🖼️ Eye of GNOME → Loupe — новый просмотрщик изображений на Rust
⚙️ Glycin library для декодирования изображений — снова Rust
🧠 GNOME 49 и полный отказ от X11 - теперь Wayland по умолчанию
🪄 XWayland остался только для старых X11-приложений
📦 APT 3.0 — новый движок Solver3, свежий UI, снапшоты и прощай apt-key
💻 GNOME Terminal → Ptyxis — современный терминал с интеграцией в Toolbox, Distrobox, Podman, JHBuild
⏱️ systemd-timesyncd → Chrony с поддержкой Network Time Security (NTS)
🧩 Rust-компоненты снижают риски use-after-free и buffer overflow
🐧 Ядро Linux обновлено до 6.17
Ubuntu становится не просто дистрибутивом, а витриной Rust-безопасной Linux-экосистемы.
https://releases.ubuntu.com/questing
@rust_code
❤72🔥34👏11🥰4💊1
Forwarded from Machinelearning
🔥 Сенсей Карпаты выложил новый репозиторий - полный пайплайн обучения LLM с нуля
В проекте есть всё, чтобы собрать свой ChatGPT-клон за $100 и 4 часа:
> • токенизатор (написан на Rust)
> • pretraining
> • SFT (supervised fine-tuning)
> • RL (reinforcement learning)
> • оценка модели (eval)
Всего 8 000 строк кода, без лишних зависимостей - идеальный учебный пример, чтобы понять, как реально устроено обучение больших языковых моделей.
💡 Это проект из его нового грядущего курса LLM101n, и отличная возможность прокачать свои ML-навыки на практике.
Можно арендовать GPU в облаке и запустить всё самому - код уже готов к запуску.
Если запустить обучение модели nanochat на облачном GPU-сервере (например, 8×H100), то примерно через 12 часов обучения (стоимость ~300–400 $) модель достигает уровня GPT-2 по качеству на тестовых наборах (CORE-score).
А если тренировать около 40 часов (затраты ~1000 $), решает простые задачи по математике и коду, набирая:
- 40+ на MMLU
- 70+ на ARC-Easy
- 20+ на GSM8K
🧠 Это бесплатная практика топ уровня от мастера, которую не стоит упускать.
🟠 GitHub:https://github.com/karpathy/nanochat
🟠 Технические детали: https://github.com/karpathy/nanochat/discussions/1
@ai_machinelearning_big_data
#LLM #nanochat #MachineLearning #DeepLearning #AI #GPT
В проекте есть всё, чтобы собрать свой ChatGPT-клон за $100 и 4 часа:
> • токенизатор (написан на Rust)
> • pretraining
> • SFT (supervised fine-tuning)
> • RL (reinforcement learning)
> • оценка модели (eval)
Всего 8 000 строк кода, без лишних зависимостей - идеальный учебный пример, чтобы понять, как реально устроено обучение больших языковых моделей.
💡 Это проект из его нового грядущего курса LLM101n, и отличная возможность прокачать свои ML-навыки на практике.
Можно арендовать GPU в облаке и запустить всё самому - код уже готов к запуску.
Если запустить обучение модели nanochat на облачном GPU-сервере (например, 8×H100), то примерно через 12 часов обучения (стоимость ~300–400 $) модель достигает уровня GPT-2 по качеству на тестовых наборах (CORE-score).
А если тренировать около 40 часов (затраты ~1000 $), решает простые задачи по математике и коду, набирая:
- 40+ на MMLU
- 70+ на ARC-Easy
- 20+ на GSM8K
🧠 Это бесплатная практика топ уровня от мастера, которую не стоит упускать.
@ai_machinelearning_big_data
#LLM #nanochat #MachineLearning #DeepLearning #AI #GPT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤12👍5😁3🥰1
bake - это CLI утилита для Linux, позволяющая встраивать ресурсы microVM (Firecracker, ядро, initrd) в один бинарный файл. Она обеспечивает двустороннюю связь между виртуальной машиной и хостом, включая сетевое взаимодействие и совместное использование директорий, без необходимости в правах суперпользователя.
🚀 Основные моменты:
- Встраивает все необходимые компоненты в один исполняемый файл.
- Поддерживает работу на платформах amd64 и arm64.
- Позволяет настраивать параметры виртуальной машины через командную строку.
- Обеспечивает сетевую связь и совместное использование файлов между хостом и VM.
📌 GitHub: https://github.com/losfair/bake
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍6❤5😱2🥰1
Reddix — это терминальный клиент для Reddit с поддержкой нескольких аккаунтов и умным кэшированием. Он предлагает удобную навигацию с помощью клавиатуры и предварительный просмотр изображений, используя графический протокол kitty.
🚀 Основные моменты:
- Поддержка нескольких аккаунтов
- Удобная навигация с клавиатуры
- Предварительный просмотр изображений
- Умное кэширование
📌 GitHub: https://github.com/ck-zhang/reddix
#rust
Please open Telegram to view this post
VIEW IN TELEGRAM
😐15❤13👍7🥰3🔥1
🚀 Автоматизация с Pipelight
Pipelight — это легковесный инструмент для автоматизации задач CI/CD, написанный на Rust. Он позволяет создавать и управлять пайплайнами с использованием различных языков конфигурации, таких как TOML, HCL, YAML и TypeScript. Удобные триггеры и наглядные логи делают его идеальным для упрощения рутинных процессов.
🚀 Основные моменты:
- Легкий CLI инструмент (~13Mb) для автоматизации.
- Поддержка нескольких языков конфигурации.
- Автоматические триггеры на события (git hooks, изменения файлов).
- Подробные и наглядные логи выполнения.
📌 GitHub: https://github.com/pipelight/pipelight
#rust
Pipelight — это легковесный инструмент для автоматизации задач CI/CD, написанный на Rust. Он позволяет создавать и управлять пайплайнами с использованием различных языков конфигурации, таких как TOML, HCL, YAML и TypeScript. Удобные триггеры и наглядные логи делают его идеальным для упрощения рутинных процессов.
🚀 Основные моменты:
- Легкий CLI инструмент (~13Mb) для автоматизации.
- Поддержка нескольких языков конфигурации.
- Автоматические триггеры на события (git hooks, изменения файлов).
- Подробные и наглядные логи выполнения.
📌 GitHub: https://github.com/pipelight/pipelight
#rust
👍11😱3❤2🥰2
В написанной на языке Rust библиотеке async-tar, предоставляющей функции для чтения и записи tar-архивов, выявлена уязвимость (CVE-2025-62518, кодовое имя TARmageddon), позволяющая при распаковке специально оформленного tar-архива не только извлечь размещённые в нём файлы, но и файлы, содержащиеся во вложенном tar-архиве. Уязвимость может быть использована для обхода систем верификации архивов и распаковки файлов, для которых не выполнялась проверка.
👉 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍6🥴5👏2🥰1😨1
📊 Управление бизнесом как код с Firm
Firm — это текстовая система управления работой, позволяющая организовать данные о бизнесе в виде графа. Все ваши проекты, задачи и связи между ними хранятся в простых текстовых файлах, что обеспечивает контроль и гибкость. Используйте DSL Firm для создания структуры вашего бизнеса, доступной для автоматизации и интеграции.
🚀 Основные моменты:
- Все данные в одном месте: организации, контакты, проекты.
- Полный контроль над данными: локальное хранение в текстовых файлах.
- Открытая модель данных: настройка под ваши нужды.
- Автоматизация процессов: интеграция с другими инструментами.
- Поддержка AI: возможность взаимодействия с LLM.
📌 GitHub: https://github.com/42futures/firm
#rust
Firm — это текстовая система управления работой, позволяющая организовать данные о бизнесе в виде графа. Все ваши проекты, задачи и связи между ними хранятся в простых текстовых файлах, что обеспечивает контроль и гибкость. Используйте DSL Firm для создания структуры вашего бизнеса, доступной для автоматизации и интеграции.
🚀 Основные моменты:
- Все данные в одном месте: организации, контакты, проекты.
- Полный контроль над данными: локальное хранение в текстовых файлах.
- Открытая модель данных: настройка под ваши нужды.
- Автоматизация процессов: интеграция с другими инструментами.
- Поддержка AI: возможность взаимодействия с LLM.
📌 GitHub: https://github.com/42futures/firm
#rust
❤7👍3🔥2🥰1
🦀 Почему 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
Команда 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
🤔21❤11🤣5🤯4😱4👍3