The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Около 21% нового компилируемого кода в Android 13 написано на языке Rust, opennews (?), 03-Дек-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


193. "Около 21% нового компилируемого кода в Android 13 написано н..."  +2 +/
Сообщение от Аноним (193), 03-Дек-22, 21:07 
>Раст компилируется в точно такой же машинный код, что и C++

Ну вот на Си есть linked list, с самой высокой скоростью вставки. На Rust невозможно реализовать этот вид списка без unsafe. Значит там будет использоваться более медленный алгоритм или unsafe. Ой, а класс std::collections::linked_list умеет вообще вставлять и удалять элементы в середине? Или создатели языка сочли этот алгоритм еретическим?

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

198. "Около 21% нового компилируемого кода в Android 13 написано н..."  +3 +/
Сообщение от Аноним (199), 03-Дек-22, 22:53 
Ну под unsafe реализовать можно
Ответить | Правка | Наверх | Cообщить модератору

238. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (193), 04-Дек-22, 04:40 
> Ну под unsafe реализовать можно

Но религия не позволяет. За использование unsafe в публичном коде сообщество заклюёт.

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

301. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (4), 04-Дек-22, 15:26 
Так не надо простыни кода в unsafe закрывать. Только участки, где это критически необходимо. Если товарищу нужен двусвязный список, то да, низкоуровневый код работы с этим списком ему придется делать ансейфом. Но в растбуке рекомендуют на этот случай парадигму: "Вы пишете unsafe'а по минимуму и всякий unsafe оборачиваете тщательными проверками". Так что вот, если так нужен двусвязный список - то собсно вот
Ответить | Правка | Наверх | Cообщить модератору

319. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (-), 04-Дек-22, 17:48 
> За использование unsafe в публичном коде сообщество заклюёт.

Естественно. Сообщество читает unsafe в коде как "мамойклянус, тут никакие инварианты не нарушаются". Были даже возгласы в пользу того, чтобы заменить в расте слово unsafe на trusted, потому что второй вариант по смыслу лучше подходит.

Чтобы сообщество тебя не заклевало, когда ты пишешь связанный список и используешь unsafe, тебе надо найти такой способ написать код, чтобы после его прочтения не возникало бы сомнений в том, что он будет делать то, что заявлено. Чтобы про него можно было бы _доказать_, что он делает то, что заявлено. Но это требует определённых умений, да. Сложнее чем арифметику на raw-указателях считать, а на все вопросы типа "почему мы должны доверять твоему коду" обвинять окружающих в некомпетентности, в лени разбираться в спагетти твоего кода или говорить "смотрите, оно тесты проходит".

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

245. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (245), 04-Дек-22, 07:33 
LinkedList даже в java есть. И почему-то без unsafe
Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

302. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (4), 04-Дек-22, 15:28 
И им почти никто не пользуется. Как там Блох говорил, который писал этот класс: "I've written this class and I've never used it afterwards". ArrayList значительно быстрее насчёт нативных массивов, оверхед в линкедлисте на создание объектов превосходит порой даже выигрыш в асимптоматике (когда алгоритм предписывает линкдлист использовать)
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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