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

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

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

29 ответов

23 просмотра

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
Ну пример приведите

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

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

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

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Добрый день. Опять снова хочу обратиться к вам за помощью. После создания проэкта stack new, lazy.nvim + nvim-lspconfig/haskell-tools + hlint, ormolu из mason + hls из ghcup ...
Nannk
8
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта