LINUX.ORG.RU

Rust и МК

 ,


0

5

Есть реальные истории успеха применения в продакшене?
Вижу что stm32 и esp8266 уже тянет. Вопрос только насколько тормознее и жирнее код получается по сравнению с c++.
+ актуальный вопрос с батарейками и rtos
Жаль 8битные контроллеры вообще никак

★★★★
Ответ на: комментарий от NishiragiShintaro

Вы, Шариков, чепуху говорите. И возмутительней всего то, что говорите её безапелляционно и уверенно!..

WatchCat ★★★★★
()
Ответ на: комментарий от MyTrooName

Ну дак что, трепло. Отвечать за свой трёп будешь, либо опять забьёшься в угол и убежишь?

NishiragiShintaro
()
Ответ на: комментарий от WatchCat

Ну дак что, шариков. Ты за ту чепуху, что ты мне в ответ наклал - ответишь? Или будешь и дальше как попугай повторять херню услышанную в интеренте?

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

NishiragiShintaro
()
Ответ на: комментарий от NishiragiShintaro

В расте существует концепция постоянного копирования. Т.е. там все объекты копируются и тасуются между вызовами.

Я не шарю, но интересно. Дай какие-нибудь пруфы.

InterVi ★★★★★
()
Ответ на: комментарий от InterVi

По умолчанию переменные в Rust перемещаются. На уровне генерирования LLVM IR это отображается на вызовы memcpy. Эти вызовы LLVM, как правило, успешно удаляет. На текущий момент, насколько я знаю, в rustc нет специфических оптимизаций по этому поводу.

~~@~~

anonymous
()
Ответ на: комментарий от InterVi

Выше уже ответили. Можешь гуглить базворд «перемещение», которое на самом деле и есть копирование. Тут смешно то, что раст адепты воспринимают перемещение за какую-то магию - будто-бы это передача по ссылке. На самом деле и часть С++-адептов так считают.

Там методичка рассказывает как объекты живут между скоупами, как они куда-то там перебираются - на самом деле это тупое копирование везде и всюду в рантайме. Т.е. передача по значению в контексте того же си.

Там даже между скоупами объекты тупо копируются. Именно за счёт этого и работает их птушный чекер. Это по-сути ssa на уровне языка.

NishiragiShintaro
()
Ответ на: комментарий от InterVi

Вообщем, воспринимай «перемещение» за копирование объектов. Это и есть копирование, копирование как в си.

Самим же копированием в С++(и убогой пасте на С++ - расте) копированием называют копирование + некая логика копирования(ресурса) в смысле raii.

NishiragiShintaro
()
Ответ на: комментарий от anonymous

Гугл говорит, что это нужно чтобы избежать подсчёта ссылок, сборки мусора и ещё каких-то операций. Учитывая оптимизации llvm, это решение оказалось более выгодно. Есть более эффективные подходы, или разрабы Rust выбрали лучшее из худшего?

Платим производительностью за удобство, это понятно. memcpy используется только при передаче владения?

InterVi ★★★★★
()
Ответ на: комментарий от InterVi

Гугл говорит, что это нужно чтобы избежать подсчёта ссылок, сборки мусора и ещё каких-то операций.

Чушь. Это нужно для организации их птушных лайфтаймов их чекера. Когда у тебя объекты выходят за скоуп - это отследить сложно. Когда живут только внутри - просто. А ещё лучше, когда объект вообще живёт вне скоупа.

Через это мы по-сути эмулируем обычные value-типы. Тебе ведь ненужно время жизни для интов? Потому что они везде и всюду копируются. Вот они решили из объектов сделать инты.

Учитывая оптимизации llvm, это решение оказалось более выгодно.

Не было там никакого решения. Раст изначально создавался именно под llvm и благодаря llvm. Никаких решений там в принципе нет - все решения там «делаем как можно проще». Именно поэтому раст задиайнен так(вернее там нет дизайна), чтобы быть максимально простым с ТЗ реализации.

Это набор рандомных «решений», где во имя бездарности продавали всё. Удобство программиста, производительность, какую либо общность/системность языка и идей.

Есть более эффективные подходы, или разрабы Rust выбрали лучшее из худшего?

Они выбрали худшие их худшего, потому что это клоуны. Вернее, как я уже говорил выше, они ничего не выбирали. Это всё мифология.

Платим производительностью за удобство, это понятно.

Нету там никакого удобство. Вернее есть - для тех, кто будет это реализовывать. Но за это заплатили твоей жопой, если ты собираешься писать/пишешь на этом недоразумении.

memcpy используется только при передаче владения?

Никакой передачи владения нет, и я уже об этом сообщил. Есть копирование. Любое raw-копирование объекта - есть копирование памяти.

NishiragiShintaro
()
Ответ на: комментарий от NishiragiShintaro

Никакой передачи владения нет

Передача владения в концепции управления памятью Rust - это по факту вызовы memcpy, ок, понятно. Но при использовании ссылок такого не происходит, верно?

InterVi ★★★★★
()
Ответ на: комментарий от InterVi

Передача владения в концепции управления памятью Rust - это по факту вызовы memcpy, ок, понятно.

Передача владения - это надконцепция, т.е. навешанная сверху на лайфтайм логика. К расту это не имеет никакого отношения - это raii крестовое.

Владение в контексте raii - это владение внешним ресурсом. Т.е. к самим объектам это не имеет отношения.

Допустим, на уровне языка строка - это просто объект с каким-то указателем на внешний ресурс(в данном случае память). Сам язык ничего не знает об этой памяти.

Если ещё проще. С т.з. языка это просто некий fd. Рантайм тебе даёт число(file descriptor) и далее язык с ним работает как со значением, с числовым значением.

И разница между передачей владения/копированием заключается в том, что в одном случае мы копируем fd(как числовое значением), а во втором случае делаем какой-нибудь dup(2). Но всё это внешняя логика. На уровне же языка нет никакого владения.

Но при использовании ссылок такого не происходит, верно?

Да, всё верно.

NishiragiShintaro
()
Ответ на: комментарий от NishiragiShintaro

Анонимус негодует

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

Кто пустил копиразда, неосилвшего в свободные лицензии, на мой лор? Пшёл вон отсюда.

anonymous
()
Ответ на: Анонимус негодует от anonymous

Причём тут свободные лицензии? Ты упорот? Никакая свободная лицензия тебе не позволяет воровать. К тому же речь идёт не о прямом присваивании/воровстве, а о косвенном. Т.е. когда сектанты берут и говорят, что у них компилятор на расте, что раст существует сам по себе, а не паразит. Что они что-то там делают, что говнофокс на расте и серво что-то может. Когда они там везде кукарекают, что они что-то там написали, когда на самом деле украли чужое.

Т.е. по-твоему, если я возьму какое-то литературное произведение и переведу его на другой язык - я его не украду, а напишу сам? Ну да, это ведь так свежо.

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

NishiragiShintaro
()
Ответ на: комментарий от NishiragiShintaro

Причём тут свободные лицензии? Ты упорот? Никакая свободная лицензия тебе не позволяет воровать.

Пшёл вон, читать уголовный кодекс.

anonymous
()
Ответ на: комментарий от NishiragiShintaro

Обосрался — иди к родителям, я твою жопу вытирать не намерен. Потом вали читать.

anonymous
()
Ответ на: комментарий от NishiragiShintaro

Молодец, Царь. Так этих петучей и надо.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.