Size: a a a

2020 December 11

ИЛ

Иван Лещенко... in Rust Beginners
Emmanuel Goldstein
Кстати, ещё ты замеряешь время через SystemTime, не делай этого
Это к @ymdev
источник

y

ymdev in Rust Beginners
Emmanuel Goldstein
Кстати, ещё ты замеряешь время через SystemTime, не делай этого
ну сорян, я нубище в расте) Что первое нашел про время, то и взял))
источник

MB

Mikail Bagishov in Rust Beginners
Instant в данном случае более точен
источник

y

ymdev in Rust Beginners
приведение к инту черевато потерей точности. Логично было бы к float оба
источник

MB

Mikail Bagishov in Rust Beginners
ymdev
приведение к инту черевато потерей точности. Логично было бы к float оба
Если +1 к s прибавить, то все точно будет хорошо
источник

MB

Mikail Bagishov in Rust Beginners
По крайней мере ели в f64 корень считать. При f32 наверное тоже, но мне лень вдумываться
источник

MB

Mikail Bagishov in Rust Beginners
Просто кастить инт во флоат на каждую итерацию это далеко не бесплатно
источник

EG

Emmanuel Goldstein in Rust Beginners
Кстати, всё-таки, какую задачу мы решаем?
Дебаг медленный, да, но ему и незачем быть быстрым. Если хочется быстрого дебага, можно cranelift попробовать, кстати.
источник

MB

Mikail Bagishov in Rust Beginners
Задача, очевидно, проверка на простоту.
Про релиз сказано верно, конечно.
Но и каст во флоат на каждой итерации избыточен, его надо убрать
источник

EG

Emmanuel Goldstein in Rust Beginners
В последний раз он меня порадовал — довольно быстро компилируется и с неплохой скоростью исполняется
источник

EG

Emmanuel Goldstein in Rust Beginners
Mikail Bagishov
Задача, очевидно, проверка на простоту.
Про релиз сказано верно, конечно.
Но и каст во флоат на каждой итерации избыточен, его надо убрать
Более глобально.
Зачем мы оптимизируем дебаг-режим?
источник

MB

Mikail Bagishov in Rust Beginners
Emmanuel Goldstein
Более глобально.
Зачем мы оптимизируем дебаг-режим?
Предложеннон мной изменение соптимизирует и дебаг, и релиз.
источник

y

ymdev in Rust Beginners
Mikail Bagishov
Просто кастить инт во флоат на каждую итерацию это далеко не бесплатно
Ну кстати плюсы так и делают. Если сравниваешь int с double, то оба будут double при сравнении
источник

EG

Emmanuel Goldstein in Rust Beginners
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=26784de564316f6cee74098111d25a66
Ну вот так должно быть ещё чуть быстрее, по идее
источник

EG

Emmanuel Goldstein in Rust Beginners
Потому что исчезнет бранч внутри цикла с паникой
источник

MB

Mikail Bagishov in Rust Beginners
Наверное то же самое надо сделать с делением
источник

EG

Emmanuel Goldstein in Rust Beginners
Да, % тоже надо заменить на wrapping_rem
источник

EG

Emmanuel Goldstein in Rust Beginners
Замерять в плейграунде это отдельное развлечение — у меня никакой стабильности замеров не выходит
источник

MB

Mikail Bagishov in Rust Beginners
Это да, там же видимо все в контейнерах, которые рядом крутятся и друг другу мешают.
источник

a

antuan in Rust Beginners
как можно Result<String> превратить в Option<String> кроме как match'ем? Типа, если Result::Err, то None
источник