DEREFERENCE_POINTER_THERE Telegram 6960
#prog #rust

В Google переписывают Android binder (компонент ядра для IPC) с C на Rust. Это компонент, который используется практически всем на Android, а потому для нормального функционирования он должен быть быстрым и корректным.

Авторы ожидают, что переписывание кода позволит и дальше развивать binder, избавиться от накопившегося техдолга и повысить его безопасность.

В качестве преимуществ Rust называют:

* возможность закодировать в системах типов инварианты, которые в C надо поддерживать самостоятельно.
* деструкторы, избавляющие от необходимости вручную освобождать ресурсы (корректная деинициализация в C требует неловкого паттерна goto cleanup).
* обработка ошибок проще: игнорирование потенциальных ошибок приводит к ошибке компиляции.

Переписанный вариант имеет отличную от текущего варианта Binder архитектуру, но имеет почти ту же функциональность. Пока что не реализованы фичи для отладки. Все тесты проходят, а бенчмарки показывают, что переписанный вариант сопоставим по производительности с исходным (где-то быстрее, где медленнее). Автор патча при этом отмечает, что это синтетические бенчмарки и для полной уверенности следует проверить производительность на реальной системе.

В наборе патчей непереписанным остался компонент binderfs:

We have left the binderfs filesystem component in C. Rewriting it in Rust would be a large amount of work and requires a lot of bindings to the file system interfaces. Binderfs has not historically had the same challenges with security and complexity, so rewriting binderfs seems to have lower value than the rest of Binder.
❤‍🔥32👍8👎1



tgoop.com/dereference_pointer_there/6960
Create:
Last Update:

#prog #rust

В Google переписывают Android binder (компонент ядра для IPC) с C на Rust. Это компонент, который используется практически всем на Android, а потому для нормального функционирования он должен быть быстрым и корректным.

Авторы ожидают, что переписывание кода позволит и дальше развивать binder, избавиться от накопившегося техдолга и повысить его безопасность.

В качестве преимуществ Rust называют:

* возможность закодировать в системах типов инварианты, которые в C надо поддерживать самостоятельно.
* деструкторы, избавляющие от необходимости вручную освобождать ресурсы (корректная деинициализация в C требует неловкого паттерна goto cleanup).
* обработка ошибок проще: игнорирование потенциальных ошибок приводит к ошибке компиляции.

Переписанный вариант имеет отличную от текущего варианта Binder архитектуру, но имеет почти ту же функциональность. Пока что не реализованы фичи для отладки. Все тесты проходят, а бенчмарки показывают, что переписанный вариант сопоставим по производительности с исходным (где-то быстрее, где медленнее). Автор патча при этом отмечает, что это синтетические бенчмарки и для полной уверенности следует проверить производительность на реальной системе.

В наборе патчей непереписанным остался компонент binderfs:

We have left the binderfs filesystem component in C. Rewriting it in Rust would be a large amount of work and requires a lot of bindings to the file system interfaces. Binderfs has not historically had the same challenges with security and complexity, so rewriting binderfs seems to have lower value than the rest of Binder.

BY Блог*


Share with your friend now:
tgoop.com/dereference_pointer_there/6960

View MORE
Open in Telegram


Telegram News

Date: |

Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. ZDNET RECOMMENDS Channel login must contain 5-32 characters
from us


Telegram Блог*
FROM American