The OpenNET Project / Index page

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



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

Оглавление

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

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


2. "Около 21% нового компилируемого кода в Android 13 написано н..."  –8 +/
Сообщение от EndrII (ok), 03-Дек-22, 13:54 
вот блин, тепереь андройд станет еще медленеее ...
Ответить | Правка | Наверх | Cообщить модератору

4. "Около 21% нового компилируемого кода в Android 13 написано н..."  +7 +/
Сообщение от Аноним (4), 03-Дек-22, 13:57 
Раст компилируется в точно такой же машинный код, что и C++
Ответить | Правка | Наверх | Cообщить модератору

16. "Около 21% нового компилируемого кода в Android 13 написано н..."  –3 +/
Сообщение от Аноним (16), 03-Дек-22, 14:19 
Тогда чего в нём такого безопасного, лол?
Ответить | Правка | Наверх | Cообщить модератору

20. "Около 21% нового компилируемого кода в Android 13 написано н..."  +7 +/
Сообщение от Аноним (20), 03-Дек-22, 14:22 
Вся магия происходит во время компиляции.
Ответить | Правка | Наверх | Cообщить модератору

221. "Около 21% нового компилируемого кода в Android 13 написано н..."  –7 +/
Сообщение от Старший аноним (?), 04-Дек-22, 00:50 
Исчерпывающий ответ, даже и добавить нечего :)

Но постойте, я уже где-то слышал пр "магИю". Вроде бы это был язык программирования, тоже начинавшийся на R. Вспомнил - Ruby. Это что же получается, что "магия" перекочевала из Ruby в Rust? Тогда дела плохи.

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

233. "Около 21% нового компилируемого кода в Android 13 написано н..."  +5 +/
Сообщение от Аноним (232), 04-Дек-22, 03:25 
То что вы пытаетесь здесь провернуть называется демагогия.
Ответить | Правка | Наверх | Cообщить модератору

273. "Около 21% нового компилируемого кода в Android 13 написано н..."  +1 +/
Сообщение от Аноним (273), 04-Дек-22, 11:14 
>Вся магия происходит во время компиляции.

В GCC это назвали -fanalyzer

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

281. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (281), 04-Дек-22, 12:55 
Вся магия происходит во время пассов руками.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

316. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (316), 04-Дек-22, 17:25 
суть Rust-а во владении (borrowing) ресурсом :)
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

52. "Около 21% нового компилируемого кода в Android 13 написано н..."  +1 +/
Сообщение от Аноним (52), 03-Дек-22, 14:58 
Ага, "такой же" код на полигига
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

106. "Около 21% нового компилируемого кода в Android 13 написано н..."  +5 +/
Сообщение от Аноним (106), 03-Дек-22, 16:12 
это бинарник на полгига, а во время компиляции там весь терабайт наберётся
Ответить | Правка | Наверх | Cообщить модератору

182. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от paulus (ok), 03-Дек-22, 20:22 
>на полигига

столько даже а9 не весил, по-боле будет.., но сервисы гугла весили столько же как и ос :)

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

199. "Около 21% нового компилируемого кода в Android 13 написано н..."  +3 +/
Сообщение от Аноним (199), 03-Дек-22, 22:54 
Отключайте дебаг режим в компиляторе и будут обычного размера, как в плюсах
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

338. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Проходил мимо (?), 05-Дек-22, 15:58 
К сожалению, не будет.
Раньше релизные версии весили существенно меньше, но сейчас, увы, кто-то что-то "исправил" :(
Конкретный пример компиляции обычного ХелоВорда:
$ cargo new rust_helloworld
     Created binary (application) `rust_helloworld` package
$ cd ./rust_helloworld/
$ cat ./src/main.rs
fn main() {
    println!("Hello, world!");
}
$ cargo build
   Compiling rust_helloworld v0.1.0
    Finished dev [unoptimized + debuginfo] target(s) in 9.00s
$ cargo build --release
   Compiling rust_helloworld v0.1.0
    Finished release [optimized] target(s) in 0.69s
$ du -s -h ./target/debug/rust_helloworld
10M    ./target/debug/rust_helloworld
$ du -s -h ./target/release/rust_helloworld
10M    ./target/release/rust_helloworld

Выполним strip:
$ strip ./target/release/rust_helloworld
$ du -s -h ./target/release/rust_helloworld
308K    ./target/release/rust_helloworld

Конечно, хэловорлд в 308К лучше, чем в 10 мегабайт, но все равно многовато

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

340. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (340), 05-Дек-22, 17:16 
Почитайте как убрать все лишнее в 2022 году https://darkcoding.net/software/a-very-small-rust-binary-indeed/
Ответить | Правка | Наверх | Cообщить модератору

351. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Проходил мимо (?), 06-Дек-22, 13:01 
Спасибо за интересную ссылку

Вообще лично мне было бы интересно получить статически собранный бинарник (как в GoLang) уменьшенного размера. Однако даже сама сборка статического бинаника по тому рецепту, что мне известен, работает как-то криво. Известный мне рецепт такой: в файл .cargo/config.toml в корне проекта добавляем строки
[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "target-feature=+crt-static"]

Но что-то видать я делаю неправильно.

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

345. "Около 21% нового компилируемого кода в Android 13 написано н..."  +1 +/
Сообщение от Аноним (345), 05-Дек-22, 23:22 
> К сожалению, не будет.
> Раньше релизные версии весили существенно меньше, но сейчас, увы, кто-то что-то "исправил"
> :(
> Конкретный пример компиляции обычного ХелоВорда:

rustc -O -C prefer-dynamic -C link-args=-s hello.rs

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

68. "Около 21% нового компилируемого кода в Android 13 написано н..."  +2 +/
Сообщение от Я (??), 03-Дек-22, 15:15 
в том что компилятор бьёт по рукам за небезопасный код
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

82. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Аноним (82), 03-Дек-22, 15:32 
Судя по качеству кода бьёт таки сразу клавиатурой, но фиксить не заставляет...
Ответить | Правка | Наверх | Cообщить модератору

108. "Около 21% нового компилируемого кода в Android 13 написано н..."  +2 +/
Сообщение от Аноним (106), 03-Дек-22, 16:13 
в смысле заставляет переписывать тривиальные вещи хитровыделанными способами, борясь с компилятором вместо того, чтобы дела делать?
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

358. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от burjui (ok), 25-Дек-22, 13:57 
Может, на ассемблере лучше писать? Зачем какая-то типизация вообще нужна, если двоичная логика тривиальна, да и инструкции процессоров максимально просты.
Ответить | Правка | Наверх | Cообщить модератору

174. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Бывалый смузихлёб (?), 03-Дек-22, 19:25 
Странные всё-таки наклонности у любителей раста
Код - и тот не могут нормально писать без строгого надзирателя который их постоянно бьёт
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

200. "Около 21% нового компилируемого кода в Android 13 написано н..."  +2 +/
Сообщение от Аноним (199), 03-Дек-22, 22:55 
Программисты на Расте просто честно признали человеческое несовершенство. Errare humanum est
Ответить | Правка | Наверх | Cообщить модератору

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

367. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Я (??), 28-Янв-23, 13:42 
> Программисты на Расте просто честно признали человеческое несовершенство. Errare humanum
> est

что забавно плюсовый комитет это тоже признал, но пока они обновят стандарт чтобы все стали писать на плюсах аккуратно пройдёт лет десять.

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

271. "Около 21% нового компилируемого кода в Android 13 написано н..."  +1 +/
Сообщение от Аноним (271), 04-Дек-22, 11:14 
> Код - и тот не могут нормально писать

А кто может?

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

129. "Около 21% нового компилируемого кода в Android 13 написано н..."  +4 +/
Сообщение от kusb (?), 03-Дек-22, 16:48 
Но насколько тот же код эффективный. Я слабо понимаю Rust, но кажется у них какая-то непонятная модель безопасности писать в соответствии с которой и нужно, что влияет на то, что я могу написать, а что нет.
А ещё - всякие проверки и код - тоже могут быть на уровне компиляции, но приводить к тому, что будет проверяться каждый раз - или пусть разная реализация массивов - более быстрая и более медленная.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

149. "Около 21% нового компилируемого кода в Android 13 написано н..."  –11 +/
Сообщение от Michael Shigorinemail (ok), 03-Дек-22, 17:51 
Это когда unsafe? ;-)
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

331. "Около 21% нового компилируемого кода в Android 13 написано н..."  +4 +/
Сообщение от anonymous (??), 04-Дек-22, 23:29 
Ты лучше матчасть выучи, а потом умные keyword упоминай
Ответить | Правка | Наверх | Cообщить модератору

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ообщить модератору

224. "Около 21% нового компилируемого кода в Android 13 написано н..."  +3 +/
Сообщение от Аноним (224), 04-Дек-22, 02:01 
>> вот блин, тепереь андройд станет еще медленеее

Обязательно
И не от языка зависит)

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

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

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




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

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