vladislav
Evgεny
к подобным штукам приходят, когда все стало обыденностью
Evgεny
на каком-то сайте было написано
Evgεny
про мазохизм
John
Pavel
Смена проф ориентации. Интересно в иот + веб
vladislav
учи Си
Evgεny
боже упаси
vladislav
раст — это игрушка уставших от энтерпрайза разработчиков
vladislav
</sarcasmMode>
分解物質
Pavel
То что вакансий на рынке всего 5-8 оч смутило. Но все говорят о бурном развивающемся сообществе + параллельное программирование вроде как актуальная тема
vladislav
И всем нужны разработчики с опытом
vladislav
так что развивайся в ключе мейнстрима, будет легче найти вакансию
vladislav
ну вот и учи питон + жс
Pavel
Просто уж очень интересно стало , общался с людьми (кто то тех дит, кто то сеньор), очень лестно отзывались о языке и даже внедряют его в рабочий процесс.
vladislav
պլհկ
Жс или голанг
Pavel
Жс или голанг
Я так понял что жс маст хэв везде. Эти 2 делят нишу ? Где го применяют?
պլհկ
В бекенде, где раньше петухон, руби и пхп был
Денис
петухон)) надо запомнить)
պլհկ
Учится за неделю, потом можно на сложных щщах ходить и насмехаться над пыхерами
Alexander
Только выправили soa-derive . Как тут же видно что .rev() тоже отстаёт в скорости во много раз.
Денис
vladislav
Kerrigan
не понял зачем нужен этот soa-derive, объясните
Kerrigan
Антон
А вообще, гугли data-driven development
Денис
проводить оптимизацию на искусственных данных, не имея при этом рабочего прототипа, это конечно найс)
Денис
но, на вкус и цвет
vladislav
Alexander
Почему на искусственных?
vladislav
проблемы с производительностью это в 99% проблемы в алгоритме
Денис
ну, я рад, что по рабочему прототипу возражений не поступило )
vladislav
Почему на искусственных?
у тебя очень камерный пример, есть какие-то структуры, ты проходишь по ним и что-то считаешь, ты действительно полагаешь, что выбор наиболее быстрого на данный момент способа итерации поможет тебе ускорить реальную, более сложную систему?
Денис
static ref VEC_A: Vec<u32> = { iter::repeat(()).map(|()| thread_rng().gen()).take(100_000).collect() };
vladislav
блять, почему люди не читают Дейкстру?(
Alexander
Антон
պլհկ
Бля, у человека бизнес задача циферки дрочить
պլհկ
Почитайте про К в википедии
Денис
@inv2004 а у тебя в реале так и будет структура с маленьким количеством полей, и при этом каждое поле одинакового размера?
Alexander
При том что это более-менее уже делалось. Но в определенный момент начало резко тормозить тупо из-за кривых итераторов.
Денис
тебе кстати не пытаются доказать, что это не надо
Alexander
Денис
оукеееей =)
vladislav
нормальный продакшон, мне б такой
Денис
ну ок, тогда я наверное был не прав про искусственные данные
vladislav
Alexander
պլհկ
Рекомендую спросить на реддите, там больше спецов
Денис
кстати вот что реально странно
Денис
https://ptpb.pw/WsCY/rust
Денис
test test_new2_rev ... bench: 1,566,793 ns/iter (+/- 51,917)
test test_new2_rev2 ... bench: 1,461,609 ns/iter (+/- 32,904)
Денис
то есть получается, что .fold строго хуже, чем обычный for
Денис
чуть-чуть, но всё же
Денис
или я наговнокодил где-то?
Антон
или я наговнокодил где-то?
Попробуй написать
let plus_calc: fn(_) -> _ = |acc, r| acc + r.calc();
и заменить
.fold(0f32, |acc, r| acc + r.calc()))
на
.fold(0f32, plus_calc)
Денис
ща попробуем
Alexander
Денис
тут не в new2 смысл
Alexander
Проблема с _new_rev и в new_iter_rev
Антон
Денис
ничего не изменилось
Денис
мне кажется компилер такие вещи и сам может оптимизировать
vladislav
Alexander
К сожалению сумма - вот это реально из пальца высосал. Но на тестах работает. Надо что-то посложнее придумать чем сумма.
Денис
а какая операция в реальности?
Антон
Денис
я сделал, ничего не поменялось :(
Денис
даже если вынести это в отдельную функцию и сделать её #[inline], это всё равно ничего не меняет
Денис
наверное всё-таки есть разница в производительности между тем, чтобы, так сказать, in-place изменять значение, и чтобы его постоянно копировать на каждый чих