Крылатый
Vasiliy
а как же подключаться напрямую к мозгу сразу?
Sergey
Ilya
Чтобы рекламу в мозг заливали сразу? Бррр.
Sergey
черное зеркало какое то
Крылатый
Ilya
Ой, да где не было. Даже у классиков-фантастов что-то было, кажется.
Ilya
Будем надеяться, что к тому времени человечество поумнеет (лол, нет).
Крылатый
Неа(
Дмитрий
Дмитрий
засунули хром в системд в докер
Roman
Roman
Я спросил знакомого, который там работает, почему так плохо и тяжело на вебке. Он сказал "а кому она нужна, все с мобилы сидят"
Sergey
вот это заговоры массонов канеш
Sergey
говорят ток на мобиле он тоже всрат
Roman
за мобилу не скажу — не пользовался
Ilya
Vasiliy
Записал.
но она в EGS и пока ранний доступ. Но мне нравится там издевательство над гражданами
Anatoly
https://repl.it/repls/TreasuredPuzzlingAssignments#main.bas
Viacheslav
Viacheslav
@neftedollar дошли руки. там внутри как-то хитро оптимизированно
Romɑn
Aleksandr
Viacheslav
Николай
В LINQ на многие вещи сделаны кастомные енумераторы
Aleksandr
Task.Delay же миллисеки принимает
Николай
То ли с сортировкой, то ли с обратным порядком тоже что-то интересное были
Viacheslav
Aleksandr
100 x 100 - это 1/100 секунды
Aleksandr
ой
Aleksandr
проехали
Viacheslav
это если б тики были
Aleksandr
да, я распутался
Aleksandr
любопытно, да
Aleksandr
а если в дебаг пересобрать?
Viacheslav
не, так же работает
Николай
И подобные вещи иногда могут давать внезапные сайдэффекты. Недавно был ишью, связанный с тем, что OrderBy+First\Last+Select оптимизируется, и если в селекте что-то вызывать, то выполнится только один раз, а не для каждого элемента
Николай
Точнее ишью былокак раз после того, как запилили оптимизацию, а она оказалась breaking changes
Aleksandr
это какая-то оптимизация на уровне Roslyn кмк (или JIT что тоже вероятно). В Linq я такого не заметил. Может плохо искал
Aleksandr
Viacheslav
там, по-моему, наоборот было, что если после сортировки вызываешь First, то делегат, переданный в First для всей коллекции выполниться
Aleksandr
Николай
Aleksandr
ну вот где это в LINQ?(
https://github.com/microsoft/referencesource/blob/a7bd3242bd7732dec4aebb21fbc0f6de61c2545e/System.Core/System/Linq/Enumerable.cs#L1088
Viacheslav
там файл, по-моему Last.cs называется
Viacheslav
точно не помню
Николай
Vasily
@slavonchick , поведение ожидаемое
Vasily
Тут идея в том, что Select сам по себе не делает материализацию
Vasily
А она происходит на Last
Vasily
причем сначала применится Last
Vasily
Потом Select
Vasily
Что логично
Vasily
Мы сначала уменьшаем сабсет объектов, к которым хотим применить преобразование, т.е. смотрим, для каких реально надо применить, потом применяем
Mikhαil
Ayrat
Viacheslav
ну да, я понял
Viacheslav
просто, когда впервые узнал не ожидал
Ayrat
https://twitter.com/controlflow/status/1276432557299638273?s=19
Vladimir
ахах!!
Viacheslav
вроде, до этого предлагали один восклицательный знак, лол
Viacheslav
Vladimir
Крылатый
!!!
Anatoly
Viacheslav
но его ж нельзя в параметре метода использовать?
Vasily
Я бы в испанской нотации делал
Крылатый
А почему не ?!
Aleksandr
¿que pasa?
Крылатый
Или так, да.
Vasily
Ну вот в испанской норм
Vasily
Прямо сразу видно
Aleksandr
без сахара все эти юнионы превратятся в жуткую жуть
Aleksandr
без вывода типов
Roman
ага, то ли дело эти !! и NotNullIfNotNull =)