Size: a a a

2021 January 25

AI

Alex Ilizarov in rust_offtopic
Doge Shibu
В арках как таковых - прям большой проблемы нету, если ты не клонируешь их сотнями тысяч в очень горячим цикле.

Большие проблемы скорее будут от злоупртоблений дин трейтами, которые очень уж дорогими могут выйти из-за невозможности компилятор оптимизировать сквозь них во всех кейсах, кроме совсем тривиальных.
Насколько динтрейты тормозные? Это же просто вызов указателя?
источник

DS

Doge Shibu in rust_offtopic
Alex Ilizarov
Насколько динтрейты тормозные? Это же просто вызов указателя?
Проблема не в самом вызове, а в том, что компилятор не может заинлайнить вызов дин трейта по очевидным причинам
источник

DS

Doge Shibu in rust_offtopic
А инлайнинг - это самая важная из оптимизаций, без неё очень много других тупо не сработают
источник

AI

Alex Ilizarov in rust_offtopic
Понел
источник

DS

Doge Shibu in rust_offtopic
Причём, к чести rustc, простые кейсы с дин трейтами он может разруливать, например, когда ссылка на дин трейт указывает на стек и функцию в которую дин трейт передается, можно заинлайнить. \
источник

DS

Doge Shibu in rust_offtopic
Но такое все же не прям часто встречается
источник

SP

Stanislav Popov in rust_offtopic
polunin.ai
Тебе придется помнить про ссылки в любом случае, а иначе это превратится в джаву с арками на каждый чих... Oh wait, actix-web
так але. у меня и на голом токио были арки везде
источник

p

polunin.ai in rust_offtopic
Stanislav Popov
так але. у меня и на голом токио были арки везде
Да, это особенности асинка.
источник

p

polunin.ai in rust_offtopic
Бля нужно придумать как арки проецировать
источник

p

polunin.ai in rust_offtopic
Типо вешаешь Арк на одну структуру, а если хочешь получить Арк на поле - то увеличиваешь общий счётчик, и передаешь указатель на поле
источник

p

polunin.ai in rust_offtopic
Может кто видел такое?
источник

D

Dima in rust_offtopic
почему просто не обернуть Arc в NewType и для него не реализовать какой-нибудь Deref<Field>?
источник

p

polunin.ai in rust_offtopic
Dima
почему просто не обернуть Arc в NewType и для него не реализовать какой-нибудь Deref<Field>?
Абстракции на пустом месте.
источник

D

Dima in rust_offtopic
то что ты предлагаешь можно сделать, но все равно придется делать какую-то обертку над *Field (как минимум дроп с декрементом счетчика)
источник

D

Dima in rust_offtopic
считай тоже самое выйдет почти
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Я вот тоже каждый раз испытываю жжение в жопе, когда на питоне пишу) Ты пишешь любую хуйню в коде, запускаешь - работает. Работает нормально, но когда-нибудь обязательно ебнется с невменяемой ошибкой. Придется тратить пару часов времени в дебаге, чтобы обнаружить, что где-то ты зевнул во время написания, и в условии вписал проверку значения, предполагая булеан, а автокомплит подставил похожую переменную, но не ту (стрингу какую-нибудь), из-за чего на выходе всегда получается тру
источник

H

Hirrolot in rust_offtopic
Αλεχ Zhukovsky
Я вот тоже каждый раз испытываю жжение в жопе, когда на питоне пишу) Ты пишешь любую хуйню в коде, запускаешь - работает. Работает нормально, но когда-нибудь обязательно ебнется с невменяемой ошибкой. Придется тратить пару часов времени в дебаге, чтобы обнаружить, что где-то ты зевнул во время написания, и в условии вписал проверку значения, предполагая булеан, а автокомплит подставил похожую переменную, но не ту (стрингу какую-нибудь), из-за чего на выходе всегда получается тру
жиза
источник

r

red75prime in rust_offtopic
polunin.ai
Абстракции на пустом месте.
Что это значит?
источник

SP

Stanislav Popov in rust_offtopic
нюбьи откровения. чето подставил но не то. подставить не то везде можно
источник

H

Hirrolot in rust_offtopic
polunin.ai
Абстракции на пустом месте.
называй правильно — newtype pattern
источник