Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

sizeof(Mutex<()>) упал с 40 байт до 5: что внутри std::sync::Mutex после Rust 1.62

Дата публикации: 09-07-2026 07:03:14

sizeof(Mutex<()>) в Rust 1.61 на Linux был 40 байт. В Rust 1.62 он стал 5 (точнее, 8 с учётом выравнивания, но базовый overhead 5). За уменьшением размера в восемь раз стоит полная переписка стандартного Mutex с pthread на futex напрямую, ускорение uncontended locks в 2-3 раза, и десятилетие, которое стандартный Mutex провёл в роли «возьми parking_lot, std::sync::Mutex медленный».Сегодня заглянем под капот всей этой темы, разберём, что лежит внутри std::sync::Mutex после 1.62, какой алгоритм там используется, почему он на самом деле быстрее pthread, как устроен fairness (точнее, его отсутствие), зачем нужен poisoning, и в каких случаях parking_lot всё ещё имеет смысл тащить в зависимости. Заодно вернёмся к моей старой async-статье и поясним конкретнее, почему в async-задачах std::sync::Mutex это проблема, и при чём тут вообще futex. Читать далее

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1От полной выгрузки к S3 и PostgreSQL: как мы доставляем гигабайты данных в память подов5706-07-2026
2Худший язык программирования всех времён /s-2601-07-2026
3Представлен crustc - компилятор rustc, переведённый на язык Си0703-07-2026
4Проект rars подготовил свободную реализацию RAR с поддержкой создания архивов5725-06-2026
5Управленческие антипаттерны, которые убивают компании в России-2607-07-2026
6Калвиаутра путает калвиши: один байт изменил всё0709-07-2026
7SUSE Linux Micro 6.0 Kernel RT Important Heap Overflow Fix 2026-22404-10503-07-2026
8SUSE Linux Micro 6.0 Kernel RT Important Heap Overflow Fixes 2026-22396-10503-07-2026
9SUSE Micro 6.0 Kernel Important Heap Overflow Fix Vuln SUSE-SU-2026-22402-10503-07-2026

Классификация: Мнения. Схожих патентов: 0. Схожих новостей: 9. Тональность: 5. Информативность: 8. Источник: habr.com.