Vasily
Тэкс, коллеги
Vasily
Есть интересная байтоебская задачка
Vladislav
я похоже знаю какая
Vasily
Решать на F#?
Естественно
Vasily
Но тут операции над байтовыми массивами
Диёр
Функциональное байтоебство
Диёр
Ух
Igor
а где задача?
Диёр
Её видят все, кто знает что такое монада
Vasily
https://gist.github.com/vshapenko/98bc05cc4a24d7b930f3399ffdd68f9b
Vasily
Кароч, есть такой говнокод
Vasily
Вот он сильно тормозит
Vasily
Подозреваю, что это все можно написать в разы быстрее
Doge
Нужен профиль. Или для полной надёжности - убери все комбинаторы, иммутабельность и все такое и фигачь на циклах
Doge
Подозреваю, что это все можно написать в разы быстрее
А то уверенности в том насколько хорошо они соптимизируются у меня особо нет
Ayrat
https://gist.github.com/vshapenko/98bc05cc4a24d7b930f3399ffdd68f9b
Ох уж эти пустые пространства. А что тут тормозит-то?
Ayrat
Сделай дотТрейс на код
Doge
https://gist.github.com/vshapenko/98bc05cc4a24d7b930f3399ffdd68f9b
А так без профиля просто пальцем в небо, но побуду телепатом: куча лишних аллокаций скорее всего. См внимательно внутрь chunkBySize и вообще на всю работу с массивами.
Ayrat
Не, ну оптимизации по фотографии эт не очень
Ayrat
Иди, профилируй
Диёр
отправь эйчарам яндекса, пусть на собесах в качестве задачки поставят
Диёр
через недельку будет результат
Vasily
Иди, профилируй
Чуть позже займусь
Vasily
Ща другие проблемы
Ayrat
Ну вот да, скорее всего эт не самая большая проблема
Ayrat
Ща короче с собеса пришёл. Впервые к нам скалист пришел
Ayrat
Начал с легкой беседы про скалу, чувак рассказал насколько скала лучше других языков, либы охуенные, ZIO решает все проблемы и пр. Дал ему первый вопрос, внимание: Сделай эту функцию tail-recursive def fact(n: Int): Int = { if (n == 0) 1 else n * fact(n-1) } Он такой - а это как? А зачем? А она разве ещё нет?
Ayrat
и вот короче я в непонятках. Вроде и первый скалист за пару десятков кандидатов, а вроде нахуй он такой нужен.
Ayrat
Это был хакерранк скрининг этап если чо, то есть его или далее на ин-персон приглашать или нет
Анна
и вот короче я в непонятках. Вроде и первый скалист за пару десятков кандидатов, а вроде нахуй он такой нужен.
Прикинь что он наворотит, если не отличает хвостовую рекурсию, а ему скалу дадут со всеми свистелками
Ayrat
то есть рассуждать о всяких фп фичах там и не понимать про базовейшую вещь
Ayrat
как это вообще
Анна
Гони в шею
Ayrat
у меня в голове не укладывается как он до ZIO дошел
Ayrat
без знания tail-rec
Doge
я буквально в осадок выпал
Ну может волнение, конечно. А примеры кода у него есть? Гитхаб там?
Анна
Ну волнение кстати. Я на лайвкодинге ваще дебилом себя чувствовала
Ayrat
Я кстати в лучших традициях гитхаб не смотрел
Ayrat
Пойду позырю
Ayrat
Охуенный я интервьюер, да
Ayrat
А нихуя у него в гитхабе нет все равно
Ayrat
Прям как у меня
Doge
https://github.com/perbellinioa
Ну как-то так себе, конечно.
Ayrat
Ну как-то так себе, конечно.
Ну эт просто аккаунт каких большинство. Я б такой в резюме не вставлял
Ayrat
(но он вставил)
Doge
Ну эт просто аккаунт каких большинство. Я б такой в резюме не вставлял
Ну у людей иногда даже в таких нулевых по звёздам гитхабах что-то разумное попадается
Vladislav
у меня есть оверинжениред бот и провайдеры
Vladislav
летом даже думать о программировании нет желания после работы
Анна
я бы свой гитхаб тоже не показывала никому 🤷‍♀️
Ayrat
Я именно поэтому и не смотрю гитхабы. Там или нихуя, или пет прожекты, или ядерное надрачивание бесполезной активити
Vasiliy
да кто ведет эти гитхабы, гитлабы
Ayrat
Как бы понять что человек в продакшн кидает по гитхабу невозможно
Doge
Как бы понять что человек в продакшн кидает по гитхабу невозможно
Можно зато совсем неадекватов прям сразу отсечь
Hog
Ыыыыыы
нет, ну а чо :))))
Анна
нет, ну а чо :))))
У меня так студенты на зачёте рассказывали 😂
Анна
на незачёте, да? :)))
Ну, помучила и отпустила... из-за такой ерунды потом опять приходить...
Hog
ну и в итоге приходят вот такие - к Айрату
Анна
Дане, там был олимпиадник, но раздолбай. Его нельзя было отчислять, он к финалам ACM ICPC готовился 🤷‍♀️
Диёр
Хороший язык и фичи интересные
Doge
Хороший язык и фичи интересные
Это надо у Одерски спрашивать, почему он не завез ранних return, break и continue. Могу предположить, что из-за того, что его научником Вирт был
Антон
Естественно
Омерзительно
Ilya
Погодите, в F# тоже ранних возвратов из цикла ж нет?
Ayrat
Какой-то скрининг нужен
Ayrat
Кто-то вон вообще по телефону отшивает (гугл)