Mikhail
Как можно работать в редакторе на 13’’ или 15’’ 😳
можно, и очень удобно, и мне например со вторым монитором не удобно
Mikhail
это нужно головой постоянно вертеть..
Looch
звучит как пауза gc, да)
И как это можно пофиксить ? Редакс прям очень прожорлив с его иммутабельностью
Looch
На выделение памяти почему-то почти не уходит времени и все работает очень хорошо
Mikhail
И как это можно пофиксить ? Редакс прям очень прожорлив с его иммутабельностью
могу только один совет дать: не мусорить, переиспользовать объекты
Mikhail
с реакдсом это плохо сочитается, да =(
Looch
А потом буквально врывается GC и начинает фризить
Дима
срочно рефакторить
Mikhail
На выделение памяти почему-то почти не уходит времени и все работает очень хорошо
так выделять то нужно не много, сотню метров может, это фигня, почти мгновенно происходит
Дима
это не большая коллекция, это огромный косяк
Дима
И как это можно пофиксить ? Редакс прям очень прожорлив с его иммутабельностью
не использовать редакс с его прямолинейными алгоритмами
Looch
Ну я тут согласен, надо все таки не за один раз такие куски обновлять
Mikhail
я кстати для редакса чуток изменил стор, сделал вызов слушателей с дебаунсом
Mikhail
это ускорило рендер приложения в два раза
Looch
Да не проблема в оповещении, это обновление по сути внутренняя логика и на UI не отображается никак
Mikhail
где там много объектов генерится?
Mikhail
много экшенов кидается?
Looch
где там много объектов генерится?
Да там иммутабельно коллекция обновляется
Looch
Не экшон всего один
Mikhail
я не понимаю в чем проблема
Looch
Просто почему GC такой агрессивный и не может это как бы не за один проход очистить
Mikhail
объекты же этой коллекции никуда не деваются, так?
Looch
Ну и старые уже как бы не нужны
Mikhail
Они копируются
они изменялись? зачем их копировать?
Looch
они изменялись? зачем их копировать?
Да большая часть обновилась
Mikhail
можно код посмотреть, или nda?
Looch
Там по сути происходит мердж двух деревьев
Looch
можно код посмотреть, или nda?
Я потом сделаю демо и попробую зарепродюсить
Mikhail
ну это костыль
костыль, но мне нфиг не нужны 1.5к рендеров на старте приложения, пока грузятся данные
Looch
Я кстати думаю что проблема может быть еще и в reselect
Дима
вокруг редакса же возможны только костыли
Mikhail
sCU ?
ага, писать сложную логику, когда нужно обновляться, а когда нет, только для первых двух секунд после старта
Дима
которые никак не повлияют на примитивность подхода
Looch
Может это он старые значения из мапы с мемоизацией выкидывает
Looch
Короче редакс без каких-либо нетрадиционных подходах скейлится очень плохо
Mikhail
я думаю поиграться, заменить редакс на https://evilmartians.com/chronicles/storeon-redux-in-173-bytes в своем приложении
Дима
вообще не скейлится) страшно представить что с ним будет если кто-то например начнёт диспатчить со скоростью фреймрейта
Mikhail
ну вот я и диспатчу на старте 1к экшенов
Дима
лол
Дима
рип
Mikhail
неа, все летает =)
Дима
неа, все летает =)
https://effector.now.sh/try?version=master&code=FASwtgDg9gTgLgAgN7AQgxjApgQzlgUQDcsA7OAGlQ2zywGU5Ysq1Nd8CAzLrdS6uzqNmAeQBGAKz4C0XWAHccMACasEcAJ4QsCbr37qtOvSXJUAvgi4woYBAHIsPGbAfB0UUgGdEKuwByUCq6ALwI-ugArmBkcAB04sGaoFwIABQAhP5gQSEAlBoAFrYKejC2MOkOpFBJKpoO+cDAAPStACRQPMAANliI6DikRDjeAFwIABIAKgCyADIAwsOj3gT9seQI4ZExcfEA5gMbWFtwAEKaAJIq1UOkTakZmQ9rhShsq2M7EVDR53iQk4mzi92+3ieXxGY3iIBUvwcD3caByeSw8RwEB0pBUSyKIF6dzeY2aFhanh8gy8+AAHohwiTvEcBksaVh6dUAEwqJ4eLy+BAAMQASgBBOYEAD69GuAC0CL8AIwABjVCFaCAAbCr+VSML1-gBrSb6GQAHmGmgoCCtAD5fsDCC5+PdDegjQ4bZ8EEVhip+jBJulCqEHaQsGUAAq2MAgbxYdIwbw7B0JuAzcBYKBROBJ7w20US6WyhX5fKWZqUwXod1GkQQX7yGBKVTpH02OyTWvG+L+CNGKDduuVikCxD0JYiggEAJSgDq1wAIjMpr8dbrqxOpzO51MCNcAOKzX4AFgAHLq9YLxUvrgBVejK1UtfqIW8P+gypZihaK8JKte75inej7fr+0pzNcATKkBCAfmBk4QVKcxigAGsq8QAKxjvqACK95igEMzXDMACavxcjhcFeJmHqmmYcCWqQmgOoytCcIxIbAM2rZ3EgnZgMOvb9iwGhDggtEgB6FjNDRpBzDmCaKSQjocYQXFVuOkkKUpWBLlACikGpHAaWCWn6l4ilRAm96NuxpnEOZuGCrROboEUjDKAyNCOZp8kzO5RQqWEvl0E55DcXB3ggKQhz9IFUQeV58C-G5SWeXA3nxFwhL4FUYQOj6IBpOkGJMBlWDMv0cVwEUOyhABhTYHAUQwMZWDALJ0WxfFWCJR5IVpaQA3BVAJA5XlWAFamyDUCVGTlUFVXxDVhx1Q1TUIC1bUdV1clbjp86xf4CgilVIAAF6hU6EV5hZgreDoWAIg5whMNg6RKs0aDxF46RWXpBlGTaIazVyP0IH9pAA7pNlYHZoOhg631wWAQOGcZb34CIn1cDgvQJpD0Ow9ZCbA6QSOzXAMBRFgxP-YD8OIxkyPWATRMuYgxxwPQ7BkBh4Rg2GGQKCdhlwqQEYwMdKgbQAtAgk7TrOC7LquhQAFQICq2FwTzfPYGQFFC2z6Ri7iEuxdLUxYCAhxFIgivK7uUr7kesxazretwdEyawILYU4x9iYW6dkvS7LCtKzuquLiuUwMzDTPKeNYnpLS3q1iAcRobJs3Z7nCCKwb-OkGhIZJ+kMVxQlQUpZQGSZwg9OzUtlXeAA2iqAC68QQDgxwYSXAyG1gAuV9QJM131o0haDzetyL7ceVV3d9wPQ-FwgpdG+Xk+HX73iwCbQcMCH5viwoEfTbb9uO9vLuq+7x4zFXKdYPPGTWsghfkGR+cRZ-zgBREevMy5kUnr9f6M864ZQbqDH+S8HQryKGvXu-dB5YFATvUeECoFQxgb1OBg006IJtMglu8QKqry7hgze2Dt673HqQSB5YWiwP6vXLK8B4hKDgB5Mqbd+7YEYkuZwOAoi9Hus0Thc8058LwIIwqVCICiLiOI-GUiZEtC8MdS2Z0LrXUUQIoo6RhZFWoO0J+c546rl+GHK2UtppRyKAAbisa0GxbsDyvwcVfG+MA74OzgB4wQEI+Hwg2uEbxdipjhJhMyNB98fLeJfrMFo0I1jxF8Jofo-coAxTgCALwiIcDiGPr0XMWAUQYAibk-J-QuA+QAAYdCQMwie+QLAQFpC0hJ2SGlLXsggNpHS8F7zYT0vp+0+gDAQL0XpczECLJSG+BAA94DSX6B4dSuMsASGkK6JAT1x5qAQOjeGFMbRHwDjctqx8YAAPyCYwR1ApIenUO2U5L0bSXPJpje5-sYBoSBY855s0fRoAWlkf5+lMYfGoGgNACEvxIT-AgAA1ELVF4E-woXQtvXF6KCBe11iqLkSKEBWCwITXQULkXEp-Bi+WOKQKfjxYqRWTLkJQQCGS+IFKqXkipTyjF4Q5h4CKPEOMMMxUEBtPKglaE5LIo1JqIUOAQiSVzMUXQvRYpVQQN4Q0CheiaAQOIC1KgYA4AtocW020ZDDD6pJEgMA9Ut3ICAbAdTElUspHSBIuVei9EYHk0KDgYCHHEDgdIKoKAJqTYKrC+RalsHZPSSaobzqugTTrG5maEhMkiXLIohbyAcmLRE5JITVXIubBkdZIBfj5pqr8TZxTawrTWnVNxCAW3mgWWQftIBMWYsRWqtAnbtmhRnd2ruIAe5UrQIs2kHbvKzoKUUkppB4i0hXQsiAFrwjzvydAHdXh4gpEPe0BAogeDpk9S6-o4kEBGnHo2OqugnqxR3lAXqh6z0YhfbobFGzN3dpyc9BE2sfkqEyVOu9QooChsMhcvSCAxYbWPrEBZg8gOQfyd4AkzT91YqFrckF29gM5NIwkWkXtaPwYQHBmDhGtlQZIyVBIFrwPpCozg5j9Hr1MaIxiFjbGzmIbVXesU2JzUbMKSAYpXgONdvPcp1Te712hEPdO8TdGePkcxfphAkq6pAkKekFtmKIOcfyaBr26RaOwHECp1j8F2WIWZaS9TW6L0qd3denYZnhPGb42Ziz0qa42axfZjTIHa6t21i5wzbmPPa3lfW2TmoFjgA80wY1ZdLU5lxN4fzUHAvafIxKqVMqcC0nSFF+rsq0sOYxNV4LzdYnq0TuoKdBbD2QzVbRrrV6T3mda415rg20DRZlbFdriXt1BYmzaNJvjPYDanQm4bMnkXMaumBoWtGeEG2OzRwzMVroCpVNRQbd7rhpAUDU31eBPXnfmTdsST6cAIAjGULwnVBswoW7YKIuJltbp+6GOrlmIdQ7O8oC7t3J1zeR9G0el2ALxfB-6OwYNtYAHZD0isG4GqtiQsCHFilGKV3EKdFuzWGrQr7T2GZDb0NkhoYCHsp1m3wtgP3hvZwlrdXOeewH58zg1EZXEbo6zk47MvK1ZvRiQQK6Q102lWSN5FAuEhy64dDqrWnus2jG+bib+uM1q4SELqAH7GdTsN5iGA6BZsY8M+NnTO3Rs++t3u60YXruXc1Fyf3yK9tzam5ZqM1xPOR7MzTOmUfbcYGZ1zl3aByS56oAdbSwGUzhE7sutGelA6OOvtbFxUT6rO1jrYvrFf4an2r4E4JD9G8qz3FtmYLQ9iAi1SoO6+XfBkGmtUOFGuak2g-l-fGdLmhD4OCPsf8Z8DS2n3pU6jx59wwBSDdmy-gCr-IJiFQo-GLj631PhwcKogQC9DpMmCMIA2iX5zEt6+b+b8n1UA4DQkUL4N5C-ulMlDwo3F-vTB4BEr-nELfgAdUMAbPuASNEFIvhzLAR3ggeQEgdvlGkYnPkdFfOdD9p-tgXJI2trvMi2uECqKOggEOgRERCRORKOuOujodMBr8Ayr7pMEgLSJMHCqCggJoCIXpAAjttxs0oIcIRhvDGIRIYoQmNIVSj9pMEqDtqBpMDHsivBnoYKkqHjvVrapbGAETt7CqKeDtl9rzMdloTtpLqhrAJMC0gAMTtLmL44WFWEqi0ing2HBHxYBE4DhERGFAAA+OsLyTAjAMAvUX0Wo3SLSO2GWcAkwqKnmusWE8W2R2suRnmvhOQIY6g5O4uC6-cNkZiwGZIuipA+ip05Bx23EPYHo3EQAA
Дима
сорян
Mikhail
рип
более того, я делаю около 200 запросов к бекенду на старте приложения
Mikhail
и все рендерится менее чем за секунду
Дима
200 эвентов в секунду — это скорость, с которой приложение может работать без перерыва постоянно
Дима
что и представлено по ссылке выше
Looch
вообще не скейлится) страшно представить что с ним будет если кто-то например начнёт диспатчить со скоростью фреймрейта
Конечно никаких состояний типа слайдера и тд в редакс ложить нельзя, даже при простом наборе с клавиатуры если быстро печатать то будет лагать
Дима
Дима
без разницы)
Дима
это вообще не то, что должно беспокоить при разработке
Mikhail
ну 1500 задиспатченных экшенов заставили приложение 2 секунды подумать, порендериться
Mikhail
добавил дебаунс и старт приложения стал на две секунды быстрее
Andrey
добавил дебаунс и старт приложения стал на две секунды быстрее
Добавишь эффектор - будет стартовать быстрее, чем ты подумаешь его запустить
Mikhail
ну так не интересно
Дима
Mikhail
нужно еще тысячи 2 компонентов смаунтить, которые будут слушать изменения стейта
Mikhail
пустой редакс тоже 10к экшенов за миллисекунды диспатчит
Mikhail
судя по второму скрину этот эффектор не такой уж и быстрый
Дима
судя по второму скрину этот эффектор не такой уж и быстрый
вопрос быстродействия эффектора закрыт 😉
Kostya
Привет у мя возникает вопрос по поводу практики. Функции в пропсах всегда ссылабтся обработчики или жто могут простые функции всмыле простых вычисляний на уровне модели?
Mikhail
вопрос быстродействия эффектора закрыт 😉
что-то уже наверно спать пора, раз я ничего не понимаю в этом коде..
Mikhail
что там за work, зачем его делить на 10к?
Дима
что-то уже наверно спать пора, раз я ничего не понимаю в этом коде..
снизу — реакт, это jsx синтаксис, так бывает, никто не обещал что всё обязано выглядеть как редакс
Дима
что там за work, зачем его делить на 10к?
сумма в резульате — это число 50005000
Mikhail
и спаны не слушают никак изменения стейта, они походу статичны, не?
Дима
и спаны не слушают никак изменения стейта, они походу статичны, не?
вот только их количество — это непосредственно то число, которое получилось после 10000 к апдейтов стора
Дима
если есть другой тестовый кейс умещающийся на одном экране, то я внимательно слушаю