@JSlang

Страница 2039 из 2237
Artyom
13.07.2018
16:00:33
Я просто привел пример кода. Который, кстати, использует все тот же continue (можно было бы через while, но for, иногда, быстрее, по мои наблюдениям)

Konstantin
13.07.2018
16:15:17
Про другие ЯП не знаю. Вообще не полная итерация приводит к деоптимизации разогретого кода, поэтому, возможно, в JS нет ленивых вычислений с массивами
Удивился, прогнал функцию с циклом по массиву пару раз с break и без. Оптимизация происходит на этапе вызовов без срабатывания break. Когда break начинает отрабатывать, деопта нет. Есть там еще какие условия для деоптимизации?

Artyom
13.07.2018
16:16:02
Оптимизация происходит на ~2-100 вызов

Google
Artyom
13.07.2018
16:17:05
А вообще тестирование производительности в v8 дело очень не простое: https://www.youtube.com/watch?v=HPFARivHJRY

Konstantin
13.07.2018
16:17:22
Деопт должен в v8 происходить сразу, как его что-то не устраивает.

Artyom
13.07.2018
16:17:56
Деопт должен происходить после "опт"

Konstantin
13.07.2018
16:18:14
Оптимизация отработала

Писал же

Artyom
13.07.2018
16:18:52
Как ты это все замерил вообще?

Я не говорил что continue не будет никогда оптимизирован. Но то что не всегда удастся его оптимизировать - старый факт. Еще раз, посмотрите доклад - тесты перформанса дело не благодарное. Они могут крайне отличаться с каждой новой минорной версией движка

Konstantin
13.07.2018
16:21:43
--trace_opt --trace_deopt Функция с массивом и индексом для брейка (внутри собирает сумму элементов). Массив на 1к элементов. И с 10 вызовов каждого варианта

Я не тестировал производительность. Я проверял факт деоптимизации на досрочное прекращение итерации

Большая часть старых фактов стала неактуальной с выходом турбофана в случае хрома. Пповерил на ноде 4.0.0 деопта нет. Откуда хоть вообще такая инфа была?

Artyom
13.07.2018
16:29:39
Конкретно откуда не вспомню :)

Только что нагуглил https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#6-infinite-loops-with-deep-logic-exit-conditions-or-unclear-exit-conditions

Google
Konstantin
13.07.2018
16:43:41
Ну такое. Там про бесконечный цикл со сложным условием для выхода. Про сам брейк фактически не сказано. Т.е. кмк дело там вообще не в "неполной итерации" как таковой, не надо людей раньше времени пугать.

Artyom
13.07.2018
17:47:19
#пятничная_задачка Почему итерации по "keys1" всегда медленнее чем итерации по "keys2", если массивы должны быть идентичны по структуре и элементам? https://jsperf.com/34g346gh454g34f#comment-form Ответ в комментарии

Artyom
13.07.2018
18:08:18
Roman
13.07.2018
18:09:01
?
огромную статью читать, мог бы выжимку в комменте оставить

Artyom
13.07.2018
18:09:20
огромную статью читать, мог бы выжимку в комменте оставить
А, ну там по теме вопроса в самом конце статьи разбор

Там не много

Vladimir
13.07.2018
18:11:49
вот сейчас будет ужасный пример, но без него не знаю как сформулировать вопрос: в Java Сильные, они же обычные, нужны для указания на объекты, которые должны обязательно оставаться в памяти всё то время, что эти ссылки на него существуют. Если не складывается, получите OutOfMemoryError. Мягкие ссылки полезны для кэшей, чувствительных к доступному объёму оперативной памяти. Объекты по ним могут зачиститься, но только в случае необходимости. Например, если нужно насоздавать ещё объектов с сильными ссылками, а уже негде, лучше освободить кэш и замедлить работу, чем уронить процесс напрочь. Слабые ссылки полезны для сопоставления объектов чему-нибудь без удерживания их от зачистки когда они больше не нужны (а-ля Map<Ключ, WeakRef<Значение>>). На возможность зачистки они не влияют вообще никак, слабые ссылки будут очищены при очередном запуске сборщика. Фантомные ссылки возникают, когда объект уже признан мусором, финализирован и находится в процессе зачистки, о чём можно узнать с помощью класса Cleaner и выполнить в это время какие-то собственные действия. Плюс общее правило: политика зачистки для некоего объекта и очистки ссылок на него определяется самыми жёсткими из всех ссылок, что на него указывают. А в JS что со ссылками? Киньте в меня запросом в гугл ибо ничего найти не смог

Artyom
13.07.2018
18:12:12
Почему-то только посмотрев примеры патерн-матчинга на reasonML понял всю неизгладимую силу вопроса. Это же как fsm на дрожжах... Коллеги, есть что еще почитать про патерн-матчинг?

вот сейчас будет ужасный пример, но без него не знаю как сформулировать вопрос: в Java Сильные, они же обычные, нужны для указания на объекты, которые должны обязательно оставаться в памяти всё то время, что эти ссылки на него существуют. Если не складывается, получите OutOfMemoryError. Мягкие ссылки полезны для кэшей, чувствительных к доступному объёму оперативной памяти. Объекты по ним могут зачиститься, но только в случае необходимости. Например, если нужно насоздавать ещё объектов с сильными ссылками, а уже негде, лучше освободить кэш и замедлить работу, чем уронить процесс напрочь. Слабые ссылки полезны для сопоставления объектов чему-нибудь без удерживания их от зачистки когда они больше не нужны (а-ля Map<Ключ, WeakRef<Значение>>). На возможность зачистки они не влияют вообще никак, слабые ссылки будут очищены при очередном запуске сборщика. Фантомные ссылки возникают, когда объект уже признан мусором, финализирован и находится в процессе зачистки, о чём можно узнать с помощью класса Cleaner и выполнить в это время какие-то собственные действия. Плюс общее правило: политика зачистки для некоего объекта и очистки ссылок на него определяется самыми жёсткими из всех ссылок, что на него указывают. А в JS что со ссылками? Киньте в меня запросом в гугл ибо ничего найти не смог
Условно говоря в JS по умолчанию все ссылки сильные, и только в WeakMap слабые. Но это условно, возможно, для этого есть более правильная терминалогия, я не знаю

Vladimir
13.07.2018
18:14:43
мне просто задали этот вопрос на собеседовании час назад и я понял что вообще ничего об этих типах ссылок в JS даже краем уха не слышал

попробовал сейчас загуглить, результат стремиться к минус бесконечности)

Если есть разбираюшиеся в этом люди тут(а я уверен их тут полно) Дайти на любом языке инфу по этому вопросу

Vladimir
13.07.2018
18:17:53
угу

мне намекнули что их 3

FUTURICO
13.07.2018
18:19:17
мне намекнули что их 3
как называются они? soft links? что за объекты, что постоянно в памяти? любой const ведь постоянно в памяти

в цитате про джаву

Google
Vladimir
13.07.2018
18:19:51
Вопрос звучал так, какие есть типы ссылок и чем они отличаются

сказать что я завис, значит ничего не сказать)

мб я даже знаю про это, но сама формулировка меня чего то уничтожила просто

типо ссылки на обьект как я понял из контекста

Vladimir
13.07.2018
18:23:51
Спасибо еще раз) Видимо мне надо проспаться) В 4 часа боевые сервера с докерами грохнулись, включая эластик сервера.. До 11 поднимал их, потом в офис потом на собеседование) В общем сижу читаю и не понимаю о чем читаю) Утром пройдусь по всему материалу) Еще раз благодарочка)

Thiefgard
13.07.2018
18:40:31
всем привет. Подскажите нубу литературку по ес6. Прочитал две книженции и вроде как в основах разобрался, а как дальше к реакту двигаться...

Vladimir
13.07.2018
18:48:18
Exploring es6

Не знаю перевели ли

Когда я читал только ингл. Версия была

Artem
13.07.2018
18:49:02
Как узнать апи сервера у какого-нибудь сайта/сервиса написанного на ангуляре? Хочется получить данные с сайта но не хочется его парсить)

Vladimir
13.07.2018
18:49:06
Если с англ. Все ок, обязательна к прочтению

Artem
13.07.2018
18:49:20
Может есть какая тулза или лайфхак

Vladimir
13.07.2018
18:49:24
Почти как и титан Секреты js ninja

Evgeny
13.07.2018
18:55:30
народ. хелп лиз. IE11 alarm

что этой собаке нехватает?



с какого ражна он начал предлогать сохранять json?

откатить код проекта и посмотреть когда баг всплыл - не катит. Пробовал

Google
Evgeny
13.07.2018
19:44:41
короче народ... это полный аут

лишняя запятая затаилась

Dmitry
13.07.2018
19:46:29
Admin
ERROR: S client not available

Artem
13.07.2018
19:49:59
посмотреть во вкладку нетворк в дев тулзах и пощёлкать интересующие вещи на сайте?
Хм, я тоже так подумал но что то не нашёл интересующей меня инфы, поэтому и спросил может эти ссылки как то шифруются?

Dmitry
13.07.2018
19:50:36
Artem
13.07.2018
19:50:53
Вебсокеты были

Vladimir
13.07.2018
23:12:03
А тут есть люди с золотым сертификатиком mail срушки?

Я чего то разок попробовал, бронзу только достал(

Samat
14.07.2018
08:40:08
ребят, есть vue'шники? сорри, я уже от отчаяния во все паблики спамлю проблемку, решить не могу со вчерашнего вечера

iwannafly
14.07.2018
08:42:25
Так ты спамь в нужном месте

@vuejs_ru

Dallowin
14.07.2018
08:42:42
так он спамил там

Samat
14.07.2018
08:42:53
писал вчера и сегодня(

iwannafly
14.07.2018
08:43:10
Суббота, дай очнуться людям

Samat
14.07.2018
08:43:57
дедлайн скоро, начал совсем трястись хд

FUTURICO
14.07.2018
08:45:49
// оффтоп где нейросеть такие авы делает?) или это настоящая

Валентин
14.07.2018
08:48:32
Akmatali
14.07.2018
09:13:52


Google
Akmatali
14.07.2018
09:14:34
Каким образом передается контекст в этом случае?

Phoenix»
14.07.2018
09:17:25
У таймаута свой контекст => там контекст не кофемашины Селф работает как ссылка на контекст кофемашины

Валентин
14.07.2018
09:21:25
Каким образом передается контекст в этом случае?
Какие есть предположения и что именно смущает?

Akmatali
14.07.2018
09:21:41
Какие есть предположения и что именно смущает?
В этом случае созданном объекте coffeeMachine есть метод run(). Когда мы запускаем этот метод как coffeeMachine.run() он получает в качестве контекста текуший объект coffeeMachine. А дальше этот метод run запускает локальную функцию getBoilTime() а он использует внутри себя свойству объекта waterAmount. А откуда берёт getBoilTime контекст, ведь self стоит выше.

Валентин
14.07.2018
09:22:07
Замыкание?

Akmatali
14.07.2018
09:23:54
Замыкание?
ну да из замыкания, в self какой объект записали ?

Валентин
14.07.2018
09:24:17
Зыс

Akmatali
14.07.2018
09:24:43
Зыс
че та я путаю всё блин

Валентин
14.07.2018
09:25:08
Это такая фича, закешировать зыс текущего объекта для методов.

Страница 2039 из 2237