Size: a a a

2021 December 23
Блог*
источник
Блог*
С кем я вообще дружу, блин
источник
Блог*
С кем я вообще дружу, блин
источник
Блог*
С кем я вообще дружу, блин
источник
2021 December 24
Блог*
когда я встречаю людей, которые носят одноразовые маски по несколько дней, мне всегда хочется спросить: "у вас есть любимая одноразовая салфетка, которой вы вытираете рот?"
источник
Блог*
#prog #meme
источник
Блог*
источник
2021 December 25
Блог*
Так всё-таки, для чего нужен dependncy injection?
источник
Блог*
источник
2021 December 26
Блог*
#prog #meme
источник
Блог*
Наблюдаю динамическое программирование в реальном времени, кажется они готовы сдаться спустя пол часа
источник
Блог*
Хиханьки да хаханьки. А я тут телефон уронил в воду. И теперь непонятно, насколько он живой.

Да, я пытался его просушить. Нет, не вышло, потому крышку снять не удалось, не смотря на где-то полчаса, кажется, возни с ней. Короче, оставил в сухом рисе.

Невозможность как-то повлиять на это сильно меня расстроила. А ещё это мне показало, насколько сильно я полагаюсь на свой телефон. Я, блин, ни деньги другому человеку перенести теперь не могу, ни заказать такси, ни заранее билет на электричку купить.

Короче, если завтра он не будет в порядке, то я отменяю нафиг все планы. Не могу так.
источник
2021 December 27
Блог*
Тем временем я приснился человеку ¯\_(ツ)_/¯
источник
2021 December 28
Блог*
#prog #rust #article

В rustc есть такое дизайнерское решение: замыкание захватывает в сгенерированном типе все типы из своего окружения, в том числе и те, которые не имеют никакого отношения к коду замыкания. Это приводит к увеличению числа генерируемого LLVM IR и, как следствие, замедлению компиляции. И если выдумаете, что это чисто теоретическая проблема, то вот вам опровержение: issue в репе раста, в котором Толян David Tolnay говорит, что:

> In fact this closure contributes more LLVM IR than all but 5 significantly larger functions

И это для замыкания, которое делает то, что вообще не зависит от захватываемых параметров!

Один из подходов для решения этой проблемы — добавить анализ, который будет проверять, что тИповые параметры реально используются, и для неиспользуемых не проделывать мономорфизацию. Именно такой анализ под названием "polymorphisation" реализовал человек по имени David Wood, причём как часть своей магистерской диссертации. К сожалению, выяснилось, что этот анализ неполон и в реализованном виде может приводить к мискомпиляции кода (метка regression-from-stable-to-nightly). В итоге проблему пришлось решить отключением полиморфизации.

С того момента утекло немало воды и были внесены некоторые улучшения, но полиморфизация так и осталось проходом, отключённым по умолчанию. В немалой степени это связано с тем, что этот анализ был реализован в виде запроса, который рассматривает не более одной функции за раз. Для уточнения анализа требовалось сделать анализ транзитивным, что не работает с текущей архитектурой компилятора, которая запрещает циклы запросов. Я связался с Давидом, и он сказал мне, что у lcnr есть идеи, как это можно исправить, и даже дал ссылки на наработки: 1, 2. Другое дело, что в текущем виде решение пока что неработоспособно, и последнее шевеление был в октябре этого года. Давид, впрочем, сказал, что это у него в списке дел на следующий год.

И ещё кое-что. Отсутствие полиморфизации позволяет написать код, в котором замыкание захватывает собственный тип и потому приводит к ошибке компиляции на этапе мономорфизации. Что совсем нехорошо, мономорфизация происходит по требованию, а потому то, компилируется код или нет, зависит от уровня оптимизации, точнее, от того, сможет ли оптимизация убрать мертвый путь исполнения, который триггерит бесконечную мономорфизацию.

Вот такая вот фигня.

P. S.: диссертацию советую прочитать, это неплохой экскурс во внутреннее устройство rustc, а в начале много ссылок на работ по оптимизации, связанные со специализацией и генерализацией кода.
источник
Блог*
Совсем забыл сказать, стали доступны (пока что не публично) записи с докладов #RustCon2021. Но, блин, ОЧЕНЬ ТИХО ВСЁ
источник
Блог*
Переслано от вафель'
лучше поклоняться мне
источник
Блог*
#prog #meme
источник
Блог*
источник
Блог*
#prog #rust

Learn Rust the dangerous way — серия статей о переводе небольшой программы из benchmarks game с C на Rust — сначала как дословный перевод, а затем с постепенными улучшениями в сторону идиоматичности. Спойлер: на производительности это сказалось даже в лучшую сторону.
источник
2021 December 29
Блог*
В такси сели две Снегурочки. Меня это поразило: я бы не удивилась двум десяткам Дедов Морозов, но две Снегурочки отчего-то вызвали когнитивный диссонанс. Я стала размышлять, почему так, а в это время они весело защебетали на заднем сидении.

В какой-то момент их весёлая болтовня стала более эмоциональной, и я невольно прислушалась.

— Почему Дед Мороз может без Снегурочки, а Снегурочка без деда не может? — словно прочитала мои мысли одна из пассажирок.
— Да, вообще! — согласилась вторая.
— Главное ведь ходим вместе поздравлять, а деньги все дают ему!
— Мой так вообще, без меня бы в первой же квартире и забухал.
— У нас тоже я главная: весь график на мне, перед каждой дверью ему имена по сто раз говорю. А он всё равно забывает!
— Да, не говори, вообще! — проявляет Снегурочью солидарность вторая Снегурочка.
— И вот почему я не могу нарядиться в Деда Мороза? Уж я всяко бы лучше справлялась одна, чем этот дебил.
— Я бы тоже! Непонятно, почему женщина не может быть Дедом Морозом! — обе Снегурочки пришли к одному выводу.

Повозмущавшись, они опять защебетали на другие темы, и я потеряла нить беседы. Но из головы не лезли их слова. По сути, это самая феминистическая вещь, которую я слышала. Не разговоры об абьюзах и стеклянных потолках (хотя это тоже важные проблемы), а именно спор о необходимости мужчины-Деда Мороза.

Возможно, российским феминисткам следует сменить свою риторику? Понять реальные проблемы женщин, которые не живут в твиттере, и найти точки соприкосновения. Если вы вызовете к своему ребёнку Снегурочку без Деда Мороза, вы сделаете больше для женщин и для будущего ваших детей. И это намного важнее, чем тысячи знаков в телеграм-канале.

P.S. Раз в городе появились Снегурочки, значит, уже можно поздравлять. С наступающим, любимые мои подписчики!P.S. Раз в городе появились Снегурочки, значит, уже можно поздравлять. С наступающим, любимые мои подписчики! 🎄
источник