Tuntz
reqwest
Tuntz
Но это I/O, так что без асинхрона по-любому моветон
Anton
Hyper на клиент на токио
Anton
Врядли будут еще чтото делать
Anton
Рекwест от автора хипер
big
у вас, кстати, раст протек
big
https://github.com/rust-lang/rust/issues/47412#issuecomment-357432712
Filipp
Этож найтли, ему можно
Anonymous
незя
big
это стайбл ))00))
big
https://play.rust-lang.org/?gist=0c9fa8c03688a2f44ab30636e70976cf&version=stable
Filipp
О блин я думал юнионы ансейф
big
они ансейф ))
big
если взять обычный юнион, то читать поля нужно в unsafe контексте
Сережа
Ну да, расскажи тут про эффективность с мутабельном стором, лол
Мы говорим про эффективность разработчика что-ли?
Loyd
Нет, про производительность
Сережа
Иммутабельность это новые данные на каждое действие, новые данные приложение занимает больше памяти, занимает больше памяти появляется больше кеш миссов
Сережа
Где я заблуждаюсь?
Loyd
С иммутабельным стором ты можешь проверить буквально по указателю, какие ветви стора изменились, в этом вся суть
Сережа
Проблема может быть с локами в многопоточность
Loyd
"Больше памяти" тут несовсем верно. Если ссылок не осталось, то можно переиспользовать, то есть внутри вполне можно слаб юзать и кеш миссов будет сильно меньше
Сережа
Но это гуи Фреймворк, и скорее всего там 1 поток
Loyd
Проблема может быть с локами в многопоточность
С многопоточностью у иммутабельного тоже всё сильно лучше
Loyd
В общем, причина, почему редакс строится на иммутабельном сторе я называл. А дальше уже всякие reselect-ы и прочее накручивается до посинения
Сережа
Ну по памяти мутабельность точно эффективнее
Loyd
Ну, в общем случае конечно
Loyd
Но зачем память, если всё будет тормозить?
Сережа
Я не спец в этом но я думал что потому что там жс с гц и так проще сделать
Loyd
Варианты с мутабельным стором тоже есть (vuex, напр), но там всё сводится к тому, что модель это не просто данные, а набор обсёрверов, на которые подписываются компоненты на изменение. Так что всё равно по памяти просед
Сережа
Вообще говорят что нужно бенчить, потому что никто не понимает как процессор работает
Loyd
Что бенчить?
Loyd
А, "бенчить"
Loyd
Ну, это известная история, блин
Loyd
Когда реакт только появился все херачили в стейт, мутабельность, все дела
Loyd
Потом появился ом и елм
Loyd
Оба здрючили реакт по самые уши
Loyd
Именно за счёт этой истории с имутабельностью и дешёвой проверки, какие ветви изменились.
Сережа
А нельзя для каждого элемента, класса, ввести флажок дерти и судить по нему а не по указателю?
Сережа
Стор этот ты же явно меняешь
Сережа
Это же все в один поток?
Сережа
Да и зачем он это сделал мутабельным в конце концов?
Loyd
А нельзя для каждого элемента, класса, ввести флажок дерти и судить по нему а не по указателю?
Придётся на каждой итерации очищать флажки, а для этого надо иметь список всех этих флажков. + все структуры заточенные под этот стор теперь должны быть.
Loyd
Кроме того теряешь time traveling, а вместе с тем дешёвый undo/redo и плюшку при разработке
Loyd
Ну и с многотопочностью никак, но это не проблема для гуя
Loyd
Я ему задал вопрос, он пока не ответил
Сережа
Ты же и по всем указателям проходишь, просто вместо сравнения указателя со старым чтобы понять что пора перерисовать будет флажок
Сережа
При перерисовке флажок скидывается
Сережа
Тайм тревелинга и унду реду естественно не будет
Loyd
Обходить ничего не надо
Loyd
В случае с флажком нужно будет обойти и убрать его (что невозможно, если ты сам не добавил в список его)
Сережа
Компонент смотрит в указатель в стор, по указателю первый бит флажок, если выставлен перерисовывает и сбрасывает
Loyd
Он не может сбросить, ибо он не единственный потребитель
Loyd
это в release?
Сережа
Справедливо. А откуда ты Ольгу знаешь?
Loyd
ВНЕЗАПНО
Сережа
Я прост не знал как спросить, поэтому завёл разговор о фронтенде
Anton
release?
Loyd
оу
Anton
Пробовал https://github.com/tiny-http/tiny-http ?
Anton
А блин это сервер
Anton
Простов в поиске было "набор приметивов для работы с http"
Anton
Собрал пример reqwest без серде 1.5 мб релиз, он пипец хрени тянет за собой
Anton
Тебе tls нужен?
Anton
Хотя не сильно лучше - собрал для прикола https://hyper.rs/guides/client/json/ 1MB в релизе, без tls
Anton
* стрипнутый
Anton
Да
Anton
Самый прикол, походу многим не нравится ситуация, викрейтах есть http обновлен 9 дней назад
Anton
Authors Alex Crichton Carl Lerche Sean McArthur
Anton
Два контрибутора токио и мозиловец
Anton
А блин он же автор хипера
Anton
Кикнули из питон чата
Anton
за то что сказал что pip говно
Anton
после сравнения его с cargo
Loyd
Но он же говно?
Anton
мда, жизнь не мёд
Loyd
странные люди
Anton
Но он же говно?
угу, я аргументировано же, почти паста вышла со сравнением
Anton
в итоге обидел админа