🧋 Во что обходится безопасность памяти в Rust
Rust проверяет доступ к памяти на этапе выполнения. Исследование на Rust 1.87 показало реальную цену.
• Проверки индексов: 80% циклов не оптимизируются. Оверхед 1–11% в зависимости от кода
• Обязательная инициализация добавляет лишние store-операции. В некоторых случаях +10% накладных расходов. Для буферов есть MaybeUninit
• Правила алиасинга работают на оптимизацию: +1–2% производительности. В C это restrict, который редко используют
• Итераторы и реслайсинг эффективнее сложной индексной арифметики. Проверка происходит один раз вместо каждой итерации
🍕 Результат: Rust генерирует код эквивалентный C, но проверки добавляют оверхеда. Цена за отсутствие UB.
🚀 Доклад
Приемлемо ли это для исключения целого класса уязвимостей? ⤵️
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Post #6799
1.69K

- ❤ 7
- 😁 2