#prog #cpp #article
On push_back_unchecked: Performance with FromIterator and Collect
TL;DR: в другом посте предлагали добавить в вектор операцию
On push_back_unchecked: Performance with FromIterator and Collect
TL;DR: в другом посте предлагали добавить в вектор операцию
push_back_unchecked, которая не проверяет ёмкость перед записью (и, соответственно, на полном векторе даёт UB). Замеры показали, что это даёт ускорение по сравнению с push_back в цикле. Автор же этой статьи сделал API FromIterator (взятый из std Rust) для своей библиотеки контейнеров и показал, что для таких юзкейсов можно добиться сопоставимого ускорения по сравнению с std::vector без возможности вляпаться в UB.An Update on Writing Memory Safety Bugs
On push_back_unchecked: Performance with FromIterator and Collect
Encapsulating Undefined Behaviour in the C++ Standard Library for Performance with Safety
🔥5
#prog #rust #rustlib #article
Surelock
Работает и на no_std, полагается на lock_api для абстрагирования от реализации взаимной блокировки.
Surelock
Deadlocks are a solved problem in theory — we’ve known how to prevent them since 1971. The challenge is making that prevention ergonomic enough that people actually use it. Surelock is my attempt at that: lean into Rust’s type system to make the correct thing the easy thing, and make the wrong thing a compiler error.
Работает и на no_std, полагается на lock_api для абстрагирования от реализации взаимной блокировки.
👍2