Alexsandr
В дебаг режиме
Александр
На телефон поставь
По крайней мере я открыл уже приложение. Точнее установил. Но изменение на него не распространяются?
Alexsandr
Там должно появиться reload
Александр
Потряси телефон)
рыли появилось, спасибо. и что надо трясти телефон ? ))))))))))))) есть более кошерный способ?)
Александр
я включил, на телефоне не пашет)
Александр
Hot reload включи
а эмулятор норм работает
Alexsandr
Ты просто видимо на state или redux
Alexsandr
Изменения вносишь
Alexsandr
По этому он и ломает
Alexsandr
Попробуй live reload
Александр
Ты просто видимо на state или redux
да нет, hello world запущено
Alexsandr
Только hot не забудь выключить
Александр
Александр
Только hot не забудь выключить
заработало, спасибо
Dem
Всем привет! Возникла проблема Почему то с разной скоростью срабатывает скрипт, который фильтрует масив В дебаг версии все норм, а в релизной в десятки раз медленей Может было такое
Anton
console.log выпилил?
Dem
Dem
Совсем уж запутался Как на релизе он медленней может быть Еще и многократно
Eugene
Красота
Gena
Может быть медленней на реальном девайсе, чем в симуляторе... но это не от типа бандлинга зависит... Я просто лучше спрошу: как измеряли производительность? Как поняли, что в релизе медленней, чем в дебаг?
Gena
А вообще вот такое всегда будет медленно, потому что javascript не функциональный язык программирования, он не заточен ваши бесконечные копирования оптимизировать.
Gena
На девайсе дебаг версия отрабатывала код выше меньше секунды А на релизной, около 5-7
Как поняли, что именно этот кусок кода? (Ещё раз, не может быть такого).
Gena
Т.е. конечно можно предположить баг в UglifyJS, которую где-то глючит от циклов в циклах по одним и тем же массивам...
Gena
Но это довольно маловероятно
Dem
Консоли по функции которая отрабатывала Вначале и вконце каждой И вот именно на этой была задержка
Eugene
🤔а это не завист от какого-нибудь запроса мб?
Gena
Гм... а большой размер массива programs? Там, как я уже писал, много копирований... может быть GC включается...
Dem
GC??
Gena
Странно, что в debug режиме нормально работает.
Dem
Возможно, код изначально пробовал на меньшем масиве
Gena
А debug режим - точно не в remote debugger?
Gena
А...
Gena
Тогда ок
Gena
Короч, чтоб это работало хоть как-то, надо убрать лишние копирования и поиски
Eugene
2к записей и по ним делать map потом еще по вложенным..жесть
Eugene
На клиенте такое делать конечно, хз, имхо
Gena
Ещё раз, js - не ФП-язык и в ближайшем будущем им не станет, хоте некоторые об этом и мечтают )
Dem
2к записей и по ним делать map потом еще по вложенным..жесть
В этом и весь отстой быть самоучкой без ментора
Gena
Лучший ваш друг, конструкции типа: const ret = []; for (const item of programs) { ret.push({ ...item }) }
Dem
Короч, чтоб это работало хоть как-то, надо убрать лишние копирования и поиски
Меня просто удивило что, по разному отрабатывает в зависимости от того дебаг или релиз
Gena
В вашем случае это от кол-ва данных зависит, у вас сложность алгоритма O(n) ~ n^2 это очень быстро с ростом n становится очень медленным
Gena
Думается при том кол-ве данных, что на скриншоте у вас и дебаг сборка затупит на долго
Eugene
🤔а откуда эти данные приходят и что вы с ними делаете?
不退転」
Может стоит просто кусками выкачивать столько данных
Dem
Думается при том кол-ве данных, что на скриншоте у вас и дебаг сборка затупит на долго
Но почему то работает нормально. Ладно, все равно бед практис, лучше попробовать исправить.
Gena
Может стоит просто кусками выкачивать столько данных
Я бы сперва убрал из алгоритма лишние операции всё же )) Код ещё в добавок понятнее станет и дублирование уберется )
不退転」
Это да. Но если бэк чуть ли не всю бд сбрасывает на фронт, то не ок
Gena
Но почему то работает нормально. Ладно, все равно бед практис, лучше попробовать исправить.
Вот это меня смущает... и это принципиальный вопрос. На самом деле единственный, который меня заинтересовал в этом обсуждении )) Я даже сам не поленюсь сходить и проверить этот сниппет, но это время и его можно сэкономить. Можно вас попросить ещё раз провести два измерения. Вставьте в начале ф-ции что-то типа cont startTime = Date.now();, а в конце console.log('time: ', Date.now() - startTime): 1 измерение. дебаг сборка (проверьте, что дебаггер отключен, это важно). 2 измерение. продакшн сборка на том-же девайсе/симуляторе с ровно теми же данными, что и для п.1 Если дебаг сборка выполняется всё равно быстрее, это очень нехорошо.
Gena
Просто я могу понять если вы ошиблись и когда мерили дебаг-сборку, скормили в эту ф-цию меньше данных или у вас включен дебаггер и тогда ваш JS вообще в Chrome на хосте выполняется, с JIT, к тому же... Но если при тех же данных и в той же среде debug-сборка оказывается быстрее, чем production, то это важный баг, который надо срочно фиксить.
Александр
нейтив поддерживает все либы стандартные? типа reselect, redux, immutable?
Gena
дебаг версия - дебагер отключен -- 'time: ', 14418 дебаг версия - дебагер включен -- time: 232 Впринципе тоже самое с релизной версией
Тогда всё ок. в дебаггере ваш js выполняется в окружении дебаггера, ну я уже написал. Мир не перевернулся, всё на месте )
Dem
Тогда всё ок. в дебаггере ваш js выполняется в окружении дебаггера, ну я уже написал. Мир не перевернулся, всё на месте )
Ну что ж спасибо Просто впервые попал на такую ситуацию Буду пробовать по вашим указаниям)
Gena
Хотел ссылку на документацию дать, но понял, что они так и не добавили (или убрали?) это предупреждение из документации. Поэтому ещё раз напишу для всех. Упрощенно. Когда вы дебажите js в RN, куски вашего js кода посылаются по сети в дебаггер и выполняются в нем (в V8, а не в JSC), результаты выполнения отсылаются назад в RN и применяются там. Поэтому в процессе дебага могут быть "подставы". Одну из них мы только что пронаблюдали. Другие связаны с разным набором фич и разной семантикой js в v8 и JSC, может быть такое, что ваш код нормально работает в дебаггере, но крешится в JSC и наоборот. Будтьте внимательны )
Gena
Ещё были подставы, связанные с сетевыми соединениями (не знаю как сейчас с этим дела), раньше в сеть получается тоже дебаггер ходил, а не приложение...
Taras
привет всем) подскажите как достичь такой прозрачности в таб навигаторе?
Кирилл
Выглядит как баг
Taras
так должно быть просто и прогуглить никак не могу и опыта не хватает
Александр
в RN можно поставить src dir?
Taras
Я думаю это кастомный элемент навигации
попробую в IcoMoon сделать с отступлениями уже, спасибо
Александр
Александр
без мата плз)
есть вариант билд с —watch запустить? ))))
Alexsandr
hot reload
Александр
hot reload
в случае с крешем апликейшна до стсарта, он не пересобирает покуда не перезапустишь. Возможно во мне проблема, хз
Alexsandr
правда он очень часто падает, и лучше не ошибатся
Александр
правда он очень часто падает, и лучше не ошибатся
я уже понял) что в RN лучше писать наверняка)))