Combot
combot.org/chat/-1001082778544
Anton
/stat@combot
ух бля
Loo
ну активных тут от силы человек 10)
Хотел опровергнуть, но там что то около 20-30 человек с активити > 1%
Євгеній 😌
big bro is watching
Євгеній 😌
(reading)
Evgeniy
/stat@combot
Combot
combot.org/chat/-1001082778544
Anton
Хотел опровергнуть, но там что то около 20-30 человек с активити > 1%
ага, этим процентов за все время и ограничивается)
Alexander
Это как: cargo run --bin test запускаю - собирается ну и пишет что там usage и типа такие параметры - все норм. Потом запускаю run --bin test arg - и они пишет ошибки компиляции - это как.
Andrei
эээ а можно пасту вместо пересказа?
Alexander
Нельзя :)
Денис
аргументы передаются после --
Alexander
Похоже обязательно надо --bin test -- arg . Но как же я до этого пускал. Хм.
Денис
cargo run --bin test -- arg
Alexander
Может это в win только нормально работает, а в linux надо --
Alexander
мда, руст. for - норм, for_each - на 20% тормознее. ну как так, код один по факту.
Vlad
https://medium.com/@veedrac/rust-is-slow-and-i-am-the-cure-32facc0fdcb
Alexander
да, это давно читал, не думал что ещё настолько актуально.
ㅤ
Зирокост
Alexander
да какая-то жесть, если честно. с такими проблемами это получается очень сырое поделие, которому до прода ещё года. можно сказать что даже циклы пока не особо стабильно умеет :(
доня.
> с такими проблемами это получается очень сырое поделие, которому до прода ещё года с такими проблемами для огромного пласта задач в проде на эти проблемы всем абсолютно наплевать
Alexander
не очень понял.
доня.
ну даже с такими проблемами с перфомансом всякий там веб например можно спокойно на расте писать, и в плане эффективности будет всё ещё гораздо лучше чем то же самое на приблизительно всём, на чём обычно пишут веб я короче вёл к тому что когда говоришь «до прода ещё ...», пушо всё очень зависит от области применения embedded на расте пока 100% нельзя в прод, какие-нибудь сетевые штуки — очень даже можно
Alexander
У меня куча кода на итераторах в проде. Все заебись. О чем речь?
Ну видимо проблема что ты не бенчмаркал и не собираешься.
доня.
Ну видимо проблема что ты не бенчмаркал и не собираешься.
я думаю если бы проблема была он бы точно бенчмаркал, типа, это логично, не?)
Alexander
Да, вполне логично что кому-то надо, а кому-то нет.
доня.
Ой, ладно, убеждать тебя в том готов раст или не готов к проду я не собираюсь. То что ты скинул это мелочь, а не «такие проблемы».
Alexander
Ну ок, для всех по-разному.
Loo
Ну видимо проблема что ты не бенчмаркал и не собираешься.
С чего ты взял что я не бенчил и не собираюсь?
Loo
Ты случаем не из тех кто бенчит ради бенчей? А не потому что находится узкое место и его только нужно оптимайзить
vladislav
Как не зайду в чат, так @inv2004 пишет про перфоманс итераторов
Alexander
Ты случаем не из тех кто бенчит ради бенчей? А не потому что находится узкое место и его только нужно оптимайзить
Т.е. бенчить можно только когда уже совсем накрыло? Ну боюсь разочаровать - необходимость у меня есть.
Alexander
Как не зайду в чат, так @inv2004 пишет про перфоманс итераторов
Потому что уже неделю с ними ковыряюсь. Неделю назад они вообще в 3 раза проседали.
Loo
Т.е. бенчить можно только когда уже совсем накрыло? Ну боюсь разочаровать - необходимость у меня есть.
Если накрыло уже все на проде означает лишь что на дев окружении не было эмуляции/зеркалирования необходимой нагрузки и какое место которое нужно было бы бенчит и перфать не было выявлено должным образом
Alexander
Что мешает юзать for если есть такая необходимость в перфомансе?
Подобные проблемы вылазят вообще из всех щелей. На фор сейчас только напоролся.
Alexander
Там ещё и fold и and_then и инлайн
Alexander
сравнивал код на расте и аналогичный на плюсах например?
Прямо один в один нет, но несколько тестов проще - да.
Alexander
И как?
Там нет особо вариантов как писать. Основное отличие в этом :) но работает норм.
Alexander
Один в один как в for на расте было.
Alexander
С чего ты взял что я не бенчил и не собираюсь?
С такой стати, что у меня падает вообще на ровном месте, внутри самого итераторах вообще никаких наворотов. Если у меня оно на 20% проседает, то почему у тебя вдруг нет, только если логики внутри больше, но это не значит что проблем нет.
Маjко
Что за задача такая, где тебе критично каждую наносекундочку выжать? Складывается ощущение, что кто-то занимается преждевременными оптимизициями.
Маjко
Надо перформанс — фор и get_unchecked в помощь
Alexander
Надо перформанс — фор и get_unchecked в помощь
1) это просто неприятно, потому что по факту код один 2) для уверенности надо разворачивать все fold и sum и тд. 3) надо следить даже за for, потому как .rev и даже .take могут просадить все очень значительно, хотя казалось бы очевидно что код опять же не должен по первормансу меняться. 4) я уже писал что if let и and_then тоже могут очень разойтись, хотя тут-то даже итераторов нет
Маjко
1) Пока нет боттлнека — тебя это не должно ебать 2) Пока нет боттлнека — тебя это не должно ебать 3) Пока нет боттлнека — тебя это не должно ебать
Маjко
Бессмысленные оптимизации -- отличный метод прокрастинации, я понимаю. Но на готовности к проду это не сказывается.
Alexander
1) Пока нет боттлнека — тебя это не должно ебать 2) Пока нет боттлнека — тебя это не должно ебать 3) Пока нет боттлнека — тебя это не должно ебать
У меня есть, у меня считается модель. При одинаковом коде она позавчера просела с 6 часов до 17. Фиксили-фиксили, сначала до 8, сейчас уже на 10% всего отстаёт.
Маjко
Это другой вопрос уже. Профилировщиком выяснили где затык или так, на шару все подряд фиксили?
Alexander
И раздражает , то что все оптимизации не чем-то логичным делаются а вот заменой if на and_then. Вставкой инлайнов и тд.
Alexander
Это другой вопрос уже. Профилировщиком выяснили где затык или так, на шару все подряд фиксили?
Пока нет. На 10% уже тяжелее поймать, на коротких тестах казалось что все 1 в 1. Я понимаю если 10 часов исполняется то можно ещё час потерпеть, но как-то не очень приятно. Не умаляю других достоинств раста, и понимаю что внутри не так просто, но вроде такая элементарщина, на вид. Буду дальше ковырять.
Alexander
@i_m_0 https://github.com/inv2004/soa_iter_bench/commit/93dd8d2403c6ca16063545c72b7ee1c34c16cdf5#diff-25d902c24283ab8cfbac54dfa101ad31
Alexander
к сожалению репа сейчас немного поломана, но по ревизии норм думаю.
Ivan
интересно
Ivan
возможно вариант с if_then() компилятору проще оптимизировать из-за того, что одна из веток if'а в этом случае "разинлайнена" в отдельную функцию
Маjко
Оно и так внутри разынлайнено в функтор
Маjко
Так что да, интересно)
Alexander
но по факту это эквивалентные конструкции.
Alexander
точно как и for и for_each
Alexander
Я про пго только читал и посчитал что это уже когда совсем хардкор но надо. Тут же примитивные конструкции и ради них туда лезть - излишне.
Marat
Даже проверил, скачал последнюю версию, заменил там and_then на if let, разница в пределах погрешности
Mehul
https://twitter.com/rowdymehul/status/975967810626244608?s=21
andrei
а че за underscore lifetime?
Anton
@inv2004 дизасм-то смотрел?
Маjко
а че за underscore lifetime?
По аналогии с переменными и типами — анонимный, видать
Маjко
Типа который сам выведется