Size: a a a

2020 December 11

DO

Do c Tor O r` Ry in Rust Beginners
ymdev
я пытаюсь перенести код из статьи на Rust ( https://habr.com/ru/post/532432/ смотри любой язык, какой знаешь ). И есть подозрение, что использование float вместо int (как это требует оригинальный код), может сказаться на увеличении времени
а зачем для простых чисел использовать флоаты?
источник

DO

Do c Tor O r` Ry in Rust Beginners
в статье целые числа
источник

y

ymdev in Rust Beginners
Do c Tor O r` Ry
а зачем для простых чисел использовать флоаты?
незачем, да. Но там есть извлечение корня, который тянет за собой float
источник

IB

Ilya Bogdanov in Rust Beginners
либо поискать крейт, который реализует https://en.wikipedia.org/wiki/Integer_square_root (либо реализовать самому), либо использовать (x as f64).sqrt() as i64
источник

DO

Do c Tor O r` Ry in Rust Beginners
ymdev
незачем, да. Но там есть извлечение корня, который тянет за собой float
источник

y

ymdev in Rust Beginners
Ilya Bogdanov
либо поискать крейт, который реализует https://en.wikipedia.org/wiki/Integer_square_root (либо реализовать самому), либо использовать (x as f64).sqrt() as i64
спасибо
источник

y

ymdev in Rust Beginners
спасибо
источник

y

ymdev in Rust Beginners
Я вообщем сделал так https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=90864e118fa7d974ccd70ea952c9d470
На моем дохленьком компе выполняется за 48.61653469s, запускаю через cargo run

И собрал cpp версию g++ ./file.cpp && ./a.out, и он выполнился за 24.8624 sec

Че еще можно сотворить в растом, чтобы он быстрее работал?
источник

ИЛ

Иван Лещенко... in Rust Beginners
ymdev
Я вообщем сделал так https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=90864e118fa7d974ccd70ea952c9d470
На моем дохленьком компе выполняется за 48.61653469s, запускаю через cargo run

И собрал cpp версию g++ ./file.cpp && ./a.out, и он выполнился за 24.8624 sec

Че еще можно сотворить в растом, чтобы он быстрее работал?
А ты собирал релизный билд?
источник

AZ

Alexander Zaitsev in Rust Beginners
ymdev
Я вообщем сделал так https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=90864e118fa7d974ccd70ea952c9d470
На моем дохленьком компе выполняется за 48.61653469s, запускаю через cargo run

И собрал cpp версию g++ ./file.cpp && ./a.out, и он выполнился за 24.8624 sec

Че еще можно сотворить в растом, чтобы он быстрее работал?
начать с профайлинга
источник

ИЛ

Иван Лещенко... in Rust Beginners
На песочнице за 3 секунды выполняется
источник

y

ymdev in Rust Beginners
Иван Лещенко
А ты собирал релизный билд?
нет, так как оптимизация выкидывает цикл по причине того, что результатом цикла не пользуются
источник

IB

Ilya Bogdanov in Rust Beginners
ymdev
Я вообщем сделал так https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=90864e118fa7d974ccd70ea952c9d470
На моем дохленьком компе выполняется за 48.61653469s, запускаю через cargo run

И собрал cpp версию g++ ./file.cpp && ./a.out, и он выполнился за 24.8624 sec

Че еще можно сотворить в растом, чтобы он быстрее работал?
Обе версии за одинаковое время выполняются?
источник

y

ymdev in Rust Beginners
Ilya Bogdanov
Обе версии за одинаковое время выполняются?
нет, косяк. У плюсов 24.8624 sec
источник

IB

Ilya Bogdanov in Rust Beginners
ymdev
нет, так как оптимизация выкидывает цикл по причине того, что результатом цикла не пользуются
тогда совет очевиден - собрать в релизе
источник

ИЛ

Иван Лещенко... in Rust Beginners
ymdev
нет, так как оптимизация выкидывает цикл по причине того, что результатом цикла не пользуются
Ага, вижу
источник

ИЛ

Иван Лещенко... in Rust Beginners
Ilya Bogdanov
тогда совет очевиден - собрать в релизе
Там в LLVM IR уже вызов не попадает
источник

IB

Ilya Bogdanov in Rust Beginners
Эм? Тогда может быть сделать так, чтобы попадал? Цель программы то в чем?
источник

y

ymdev in Rust Beginners
Переслано от ymdev
я пытаюсь перенести код из статьи на Rust ( https://habr.com/ru/post/532432/ смотри любой язык, какой знаешь ). И есть подозрение, что использование float вместо int (как это требует оригинальный код), может сказаться на увеличении времени
источник

y

ymdev in Rust Beginners
Ilya Bogdanov
Эм? Тогда может быть сделать так, чтобы попадал? Цель программы то в чем?
Я пытался код перевести с плюсов на раст один в один. Ну и типо плюсы собрать, ничего не оптимизируя и раст также
источник