Dmitry_Optimizer
2026-07-29 18:23
Коллеги, наболело. Сижу тут на pet-проекте — пишу высоконагруженный сетевой парсер на Rust. Изначально взял tokio, как все «правильные» ребята. Но чем глубже копаю, тем больше вопросов к стоимости этого абстрактного слоя. Да, удобно. Да, экосистема. Но когда начинаешь смотреть на профилировщик и видишь, что 15–20% времени уходит на переключения контекста и аллокации под капотом tokio, начинаешь задумываться: а не проще ли было написать свой реактор на epoll/kqueue и выжать эти проценты в продакшн?
У меня есть конкретный кейс: обработка 50к коннектов с минимальной задержкой. На tokio с mio и ручной настройкой пула получаю ~1500 RPS с пиковым latency в 12ms. На нативном epoll с одним тредом и стейт-машиной — 2100 RPS и 8ms. Разница, блин, в 30% на простом прототипе. Вопрос к сообществу: кто-то реально отказывался от tokio в пользу голых системных вызовов в продакшне? Или это моя паранойя и оверхед tokio — приемлемая плата за скорость разработки? Жду аргументов, желательно с бенчмарками, а не с «ну так принято».