The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Пятая редакция патчей для ядра Linux с поддержкой языка Rust "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..." +2 +/
Сообщение от Урри (ok), 13-Фев-22, 15:59 
В ролике довольно глупое выступление от человека, который понимая ассемблер совершенно не в курсе как работают современные микропроцессоры.

Детально объяснять почему глупое будет довольно долго ибо очень много важных нюансов, но я уложусь в пару коротких тезисов. Эти тезисы полностью нивелируют оверхед от единичного "jne" (или je+jmp в ситуации далекого адреса перехода).

1. (и самое важное) спекулятивное выполнение,
2. задержки в доступе к памяти,
3. предсказатель переходов.

Эти три пункта позволяют unique_ptr внести возможную задержку в код выполнения программы на уровне 0,00000001%. В то время как даже обычное переключение задачи вносит возможную задержку в 0,001%. А примитивнейший доступ к не выравненному адресу (например, при поиска в строке) вносит возможную задержку в 0,1%.

Так что де-факто unique_ptr добавляет ровно 0.0% (ноль целых ноль десятых процентов) оверхеда.

--
Желающие проверить лично берут и используют "sudo perf stat хелловорлд-с(и-без)-смарт-поинтерами",
желающие глубоко проанализировать - "perf --help".

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Пятая редакция патчей для ядра Linux с поддержкой языка Rust , opennews, 13-Фев-22, 11:53  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру