172 похожих чатов

Я пришел из java и мне интересно узнать у опытных

людей, как заставить раст работать быстрее jav'ы, вчера сутки с коллегой проводили различные тесты(скорость работы циклов, работа с массивами, работа с хэшмэп и его сортированным вариантом) и в основном java была либо на уровне, либо ощутимо быстрее, судя по тому, что мы с коллегой только знакомимся с растом, вряд ли мы выжали из его всё, мне интересно ваше мнение, rust должен работать быстрее джавы? Может кто нибудь знает статью с грамотными сравнениями производительности (чтобы и с той и с той стороны был грамотный код для тестов) или другой ресурс? В общем как-то так.

29 ответов

24 просмотра

rust должен работать быстрее джавы И по идее даже если вы забыли собрать с флагом --release

Есть случаи, когда Java может быть быстрее Rust из-за JIT и сборщика мусора, но вообще я бы ожидал, что в большинстве случаев код на Rust будет быстрее. Скорее всего, тут сказывается тот факт, что Java вы знаете куда лучше, чем Rust, а на Rust пишите не идиоматично

Антон 🇦🇲
Есть случаи, когда Java может быть быстрее Rust из...

возможно стоит в сторону PGO покопать, хотя смотря что там за тесты были

В _среднем_ если _уметь писать_ на расте, то Раст будет быстрее джавы, при условии что на написание кода на Расте вы потратите больше времени, так как в связи с restrictive системой типов раста чтобы писать быстрый код необходимо проводить некоторые ухищрения по ублажению компилятора. То есть, простыми словами, писать быстрый код на расте сложнее чем на джаве, но при этом потолок скорости у раста скорее всего будет больше.

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

ozkriff🇺🇦 Lesnikóv
mem::forget ftw!

Опять софт для ракет?

Пух
Опять софт для ракет?

ну не обязательно не так радикально - для короткоживущих cli утилит тоже в тему может быть

Для короткоживущих можно и нормально память чистить, хз

Stanislav Sagan
rust должен работать быстрее джавы И по идее даже ...

вчера была похожая проблема, у знакомого есть утилита для обработки текстовых данных, так вот, он на го из тамошнего массива грузил данные в мапу(чтобы удалить дубли), я решил так же сделать и у себя - как итог у меня со всеми примочками lto = "fat" codegen-units = 1 а так же mimalloc(который, к слову, очень неплохо бустит), получилось на 26% медленнее. Так и не придумал как ускорить но с другой стороны и потребление ram уменьшилось на 25%

️Skill
вчера была похожая проблема, у знакомого есть утил...

У стандартной хешмапы алгоритм хеширования заточен на защиту от DOS, а не на скорость

red75prime
У стандартной хешмапы алгоритм хеширования заточен...

ух, получилось ускорить аж на 50% используя fxhash, большое спасибо

18% с го, очень неплохо я считаю. И это с тем же потреблением рам(то есть на 25% меньше)

Без конкретных сравнений смысла нет

потому что обычно оказывается что сравнивается непонятно что непонятно с чем: вот https://www.reddit.com/r/rust/comments/r75wm6/why_is_stdsyncmutex_6070x_time_slower_than_cs/ или https://www.reddit.com/r/rust/comments/r75wm6/why_is_stdsyncmutex_6070x_time_slower_than_cs/

️Skill
18% с го, очень неплохо я считаю. И это с тем же п...

Я правильно понимаю, что вы сравниваете некую non-std имплементацию мапа в расте с вообще неизвестной имплементацией мапа в го и на основании этого делаете вывод что раст быстрее?)

Alexander B. Babayants
Я правильно понимаю, что вы сравниваете некую non-...

нет, я сравниваю растовскую хешмапу с гошной мапой (там вообще нет как таковых сетов)

Alexander B. Babayants
Я правильно понимаю, что вы сравниваете некую non-...

Как бы нестдшные мапы, как правило, в расте не используют

Alexander B. Babayants
Я правильно понимаю, что вы сравниваете некую non-...

я не так понял, сравниваю мапу, с более легкими вариантами хешей(которые, не secure)

Victor Dudochkin
да ну)))))))))))))0

Ну пример приведите

Traveller Kolsky
Как бы нестдшные мапы, как правило, в расте не исп...

Да это неважно Я пролистал тред, @zamazan4ik уже все сказал

Traveller Kolsky
Ну пример приведите

вот последний оратор и привел

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта