LINUX.ORG.RU

Драйвера на руст

 , ,


2

10

http://www.opennet.ru/opennews/art.shtml?num=51475
Ну что, си можно выбрасывать на помойку? Или нет?
Ъ:соревнования по написанию сетевых драйверов на разных яп. У rust и си +- одинаковая производительность на картинке.
Ссылки на сорцы тут в README.md => https://github.com/ixy-languages/ixy-languages

★★★★★

Последнее исправление: crutch_master (всего исправлений: 4)
Ответ на: комментарий от hippi90

в толксах

Это категорически не правильно.

crutch_master ★★★★★
() автор топика

А Go, кстати, неплох. Жаль они D не тестировали.

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

код выполнялся с использованием CPython 3.7 и не был совместим с PyPy, но отмечается, что оптимизация структур хранения данных могла бы повысить производительность примерно в 10 раз.

итого 1.4 млн пакетов в секунду. все еще в 20 раз медленнее эталона

Anoxemian ★★★★★
()

У rust и си +- одинаковая производительность на картинке.

А ты думал как будет когда язык просто корпорации уже столько лет чтобы забесплатно быть

Орнул с коммента на опеннете

Какая-то ангажированная муть. C# не может быть настолько быстрее Java, Swift, OCaml, по той простой причине, что он не быстрее.

Но, но… Он не быстрее! (смотрит вдаль, напугано, разочаровано, не верит своим глазам)

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от Deleted

Будто там бывает иначе. Странно только, что не заминусовали новость, как это обычно бывает.

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

Так цель исследования показать, что Rust хороший, а не C++.

Там по качеству кода на Rust и на других языках видно, что выводы из исследования и были его целью.

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

С++ уже даже не рассматривают

Мнение Линуса о С++ всем давно известно, а про растишку он вроде бы пока не высказывался

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

Бессмысленное сравнение.

Python не предназначен для разработки драйверов, Javascript тоже , а Haskell вообще не предназначен для практического использования.

Что Rust можно использовать для разработки драйверов, ясно и без статьи - она ничего нового не открыла. А будут ли использовать - это как захотят авторы драйверов.

Partisan ★★★★★
()

Как только популярное ядро напишут на расте - легко. Пока они все на C - вряд ли. И на горизонте не видно, даже модерновая фухсия на C. Так что лет через 30, может быть.

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

А зачем для написания дров на Расте писать на Расте ядро целиком?

Deleted
()

Скорость раста еще(?)[1] не дотягивает до сишной, но раст дает больше гарантий

----------------------------
[1]У меня есть сомнения, что раст когда-то догонит Си в скорости из-за множественных проверок

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

Haskell вообще не предназначен для практического использования

Чистая функциональщина, даже без читов вроде монад, рулит и педалит сейчас во фронтенде. Там вообще сайд-эффектов не нужно в архитектурах вроде Redux

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

У меня есть сомнения, что раст когда-то догонит Си в скорости из-за множественных проверок

Сейчас тебя расто-птушники научат Родину любить. 🤠

anonymous
()

То есть, Раст уже не сливает C в искусственных бенчмарках? Прогресс.

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

когда уже на вашем расте мозиллллллу перепишут целиком ?

Тсс, не задавай неудобных вопросов. Тут очередная перемога у сектантов, порадуются немного, и дальше пойдут ПриветМиры переписывать, так, глядишь, годков через 20 и до Firefox руки дойдут.

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

когда уже на вашем расте мозиллллллу перепишут целиком ?

Причём под armhf. И желательно вместе со всей обвязкой. А то скоро обвязку можно будет спокойно на QuickJS перепейсывать. А там и Red в полной комплектации подтянется. И всё остальное резко станет ненужным.

rebforce
()
Последнее исправление: rebforce (всего исправлений: 2)
Ответ на: комментарий от anonymous

Че ему сливать если они с С на одном LLVM? Там только начальная портянка разная, а дальше обычный статический ЯП без сборщика мусора.

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

Мнение Линуса о С++ всем давно известно, а про растишку он вроде бы пока не высказывался

Ага, и Сишарп с Жавой он тоже любит, да? :) Как по мне, так лучше бы туда С++ засунули чем Сишарп.

urxvt ★★★★★
()

кто сходил по ссылкам, тот увидел что никаких полноценных драйверов уровня ring0 нет ни на Си ни тем более на расте
вброс растоманов ???

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

Мне кажется они сами это понимают

А как же «zero cost abstractions»?

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

С разморозкой никто не суется в ядро, когда надо работать с десятками Mpps.Все используют DPDK\snabb\свой юзерспейсный велосипед.

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

Проверок чего? Как компайл-тайм проверки влияют на скорость исполнения? На данный момент можно сказать, что llvm для раста выдает менее оптимальный код, нежели для C.

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

из-за множественных проверок

Ты про проверку границ массивов? ЕМНИП, если юзать массив как итератор, то проверки не будет. С проверками на переполнение чисел, кажется в дебаг проверяется а релизе нет

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

так разморозтесь и пойдите это линусу расскажите
и его драйверо писакам
а то в сорсах linux только ring0 драйвера

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

Ты забыл божественный дух священной сишки. Она ускоряет все в 5 раз с благословения Кернигана и Ритчи, да пусть пребудет с ними Bell Labs

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

Ты забыл божественный дух священной сишки. Она ускоряет все в 5 раз с благословения Кернигана и Ритчи, да пусть пребудет с ними Bell Labs

Этот растосектант сломался, несите следующего.

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

когда надо работать с десятками Mpps

Стоковый линуксовый сетевой стек давиться на 1Mpps. В данном случае рассматривается написание драйверов для сетевых девайсов именно с целью преодоления ограничений родного сетевого стека.

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

Кого фронт когда волновал? Не делай совсем дурацких вещей там и генерируй нормальный LLVM код.

Насчет дурацких вещей. В С популярен defensive programming, посмотри на код Glib/Gtk. На каждом входе в функцию проверочка на NULL для всех параметров. И чем больше код, тем страшнее доверять тем, кто вызывает твою функцию.

Это все давно можно кодировать типами, но нет же, в сишечке будем проверки на проверках на проверках.

vertexua ★★★★★
()

О да. Не то чтобы мне нравился раст. Но выбросить си — дело благое. Кто там платит этой немчуре за такие сомнительные исследования?

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

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

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