-
Сообщений
19 480 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
5 -
Время онлайн
171д 23ч 43м 4с
Все публикации пользователя Index
-
Какая разница какой язык, если у тебя пересечение двух листов это O(n*m) В то время как Пересечение двух сетов это O(n), если ты используешь правильный алгоритм. Проходишь по элементам одного сета за N и вызываешь O(1) contains на другом. >а шарп, где просто есть Except/Intersect Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) Ну и говно, получается оно всегда использует итерацию по коллекциям, цикл в цикле. Похуй что у тебя, лист или сет. Охуеть конечно нормальная манипуляция Даже у листов пересечение можно найти быстрее чем за O(n*m) если их отсортировать, получается O(n log n + O m log m) но в шарпе мыслят иначе , так что хавай сложность близкую к квадратичной
-
Индусы пишут хуевый не сопровождаемый код. Плюс кто-то же должен оркестрировать индусов.
-
Бизнесу не поебать сколько это стоит бабок и сколько времени будет разрабатываться фича.
-
@Benchmark public boolean listRemoveList(Blackhole bh) { boolean r = listA.removeAll(listB); bh.consume(r); return r; } @Benchmark public boolean listRemoveSet(Blackhole bh) { HashSet<UUID> hashSet = new HashSet<>(listB); boolean r = listA.removeAll(hashSet); bh.consume(r); return r; } Померял на таком бенчмарке Benchmark (sizeA) (sizeB) Mode Cnt Score Error Units ContainsAllBenchmark.listRemoveList 1 1 avgt 5 0,006 � 0,001 us/op ContainsAllBenchmark.listRemoveList 1 10 avgt 5 0,010 � 0,001 us/op ContainsAllBenchmark.listRemoveList 1 100 avgt 5 0,064 � 0,003 us/op ContainsAllBenchmark.listRemoveList 10 1 avgt 5 0,022 � 0,002 us/op ContainsAllBenchmark.listRemoveList 10 10 avgt 5 0,048 � 0,002 us/op ContainsAllBenchmark.listRemoveList 10 100 avgt 5 0,065 � 0,002 us/op ContainsAllBenchmark.listRemoveList 100 1 avgt 5 0,211 � 0,003 us/op ContainsAllBenchmark.listRemoveList 100 10 avgt 5 0,703 � 0,054 us/op ContainsAllBenchmark.listRemoveList 100 100 avgt 5 3,708 � 0,072 us/op ContainsAllBenchmark.listRemoveSet 1 1 avgt 5 0,029 � 0,001 us/op ContainsAllBenchmark.listRemoveSet 1 10 avgt 5 0,123 � 0,008 us/op ContainsAllBenchmark.listRemoveSet 1 100 avgt 5 1,202 � 0,051 us/op ContainsAllBenchmark.listRemoveSet 10 1 avgt 5 0,071 � 0,005 us/op ContainsAllBenchmark.listRemoveSet 10 10 avgt 5 0,150 � 0,006 us/op ContainsAllBenchmark.listRemoveSet 10 100 avgt 5 1,185 � 0,037 us/op ContainsAllBenchmark.listRemoveSet 100 1 avgt 5 0,496 � 0,023 us/op ContainsAllBenchmark.listRemoveSet 100 10 avgt 5 0,606 � 0,034 us/op ContainsAllBenchmark.listRemoveSet 100 100 avgt 5 1,553 � 0,202 us/op Считаю что все правильно сделал что топил за обернуть в хэшсет. Во-превых в реальном коде хэш сет потом кучу раз переиспользуется, в бенчмарке я тестирую в том числе создание сета. Во-вторых, это лучше отражает семантику коллекции. На containsAll цифры конечно другие, но не отменяет факта что дуит хуйню несет, а пытаться заигрывать с кодом для дружбы с компиляторами черевато проблемами.
-
без деталей не понятно не долбаеб ли ты более лучшая асимптотика может давать худший перформанс в частных случаях особенно на небольших значениях и с jit какие там размеры листов? Че блять, че ты несешь? Какие нахуй jit и частные случаи? Ты про premature optimization слышал? А ну давай частный случай, где listA containsAll listB дает лучшую производительность. O(n+m) хуже чем O(n*m) только если M блять равна 1. Это тебе чисто из математики. А вот какие там волшебные оптимизации у JIT ты знаешь, а, мудень? Ты понимаешь что containsAll что на сете что на листе вызывает equals, он блять не векторизируется. Это блять не сравнение примитивов. Ебаный долбоеб наделяющий JIT какими-то волшебными свойствами кроме эскейп анализа, инлайна и бранч предикшонов . Давай JMH в руки и принеси сюда пример. Конченый дебил блять. И знаешь что я тебе скажу, долбоящер. Даже если там блять listB в один ебучий элемент, то JIT прекрасно заинлайнит и listB -> hashSetB -> containsAll в listA containsElement. Ебать, как же с тобой тяжело наверно работать душный и некомпетентный даун. Ебучий даун блять, лучшее что ты можешь сделать для JIT - писать асимптотически-корректный код. Если у тебя блять listB состоит из уникальных элементов, но он протобафом генерится как лист просто потому что в ПРОТОБАФЕ БЛЯТЬ НЕТ СЕТОВ, и ты делаешь listA containsAll listB, то ты ебучий долбоеб. Не надо тут выдумывать с обосранными штанами какие-то одолжения для JIT блять. Кстати, добавлю уточнение, там был не containsAll а removeAll, что сути не сильно меняет
-
Ну по факту напихали. Если ты видя цикл в цикле не можешь докумекать это n*n, n*m или n на константу (может вложенный цикл это цикл по алфавиту например) то ты реально проседаешь по хардам которые в современном мире нужны не только для байпаса душных собесов, но и в работе. на днях ревьюил МР чела, там list.containsAll(anotherList) я ему конечно тыкнул что у тебя тут асимптотика o(n*m) переделай в линейную
-
Как писал один чувак в своем тг канале И вот реально для прототипирования платформенных задач, интеграций эта хуйня очень хороша. Можно в один промпт попросить поднять сервис настроить метрики дашборды алерты интеграции трассировки прочую хуйню. А самому уже писать бизнес-логику. И собственно где тут СТАЖЕРСКИЙ скоуп задач? Стажер будет это пол года делать и потом занесет себе на пол страницы CV в достижения как он все поднял и настроил. Обычно стажерам как раз дают в уже всем готовом скоупе писать как раз какую-то минорную бизнес-логику и обмазывать это все тестами.
-
Ну резать собаку ножом в шею как минимум сомнительно. У ножа никакое останавливающее действие. Когда он её пырнул собака и так в целом была на похуях и убежала себе даже не поджав хвост, точно так же можно было и уебать ногой/вообще ничего не делать. Ну а была бы собака под адреналином, её бы это тоже не остановило бы. Вот и спрашивается, нахуя? Понятно что для МУЖИКА С ЯЙЦАМИ нож это как-бы более статусно чем девчачий перцовый балончик. Но перцовый балончик позволит тебе не сесть на бутылку, особенно если ты Степашка.
-
Семеру этому некропостеру
-
Если бэкенд, то читай кабанчика / учи внутрянку постгри и кафки. шо, кроме систем дизайна... этож потолок рынка вроде. Ну там web3, крипта,go -где средняя по рынку 500+ ? ну, вообщем да... инженер - это тебе не судья/прокурор или мент. О каких заработках в ит может вообще идти речь... тут согласен. Потолок - это средний класс. Ну тоже неплохо... Ну если ты в рашке хочешь 500к+ лутать, то тебе либо быть синьором по верху рынка (а для этого нужно красиво на собесах напиздеть за технологии и баззворды), либо олдфагом-принципалом. Ну либо расти в менеджерские роли. >go Что за миф, что в go большие зарплаты? >web3, крипта Ну это можно сказать удаленка валютная, только вместо валюты тебе хэшами отсыпят. Много ты знаешь судей/прокуроров/ментов лутающих больше 500к? Какой это процент от общей массы судей? Ты хочешь со средними знаниями/навыками не быть средним классом?
-
Если бэкенд, то читай кабанчика / учи внутрянку постгри и кафки.
-
Спасибо, Пыня, почитал книжечку.
-
Папич сракич всем похуй, потухшая звезда.
-
Душить терпил налогами пока есть возможность, после договорняка новые налоги так просто не навесишь
-
Почему так а не наоборот? ИИ по идеи разгоняет найм в ИИ и все что около Ну я не беру в рассчет HR моменты, я про необходимость в кодомакаках. Сейчас тренд на closed-source, компании гоняются за технологическим приемуществом, не хотят вендорлоки, форкают все оупенсурсное и пишут все свое, благо ИИшка помогает бороться с бойлерплейтом. Но по сути из-за клоузед сурса, развития новых языков и технологий решающих новые проблемы, без новой базы для обучения моделек быстро придет осознание что ИИшка просто размазала собранные на открытых данных знания эпохи оупен-сурса по куче компаний, дотянух всех примерно до одного уровня, а нового кода для тренировки моделек нет, да и в целом отсутствие прогресса в достижении AGİ приведут к тому, что у компаний куча Everything as a Code а обновлять и мейнтейнить этот код нужны люди. Это конечно мое абстрактное видение, но даже мне с каждым месяцем ИИшка все меньше помогает в решении проблем и все больше нужно опять думать самому. С твоим видением как раз опенсорс должен был убить программирование потому что зачем что-то разрабатывать когда кто-то где-то это уже сделал в опенсорсе Так так и было по сути, те же битнами здорово уменьшили человекочасы Опс’ов давая искаропки настроенные образы для всяких кафок/редисов/постгрей с SBOM в комплекте. А сейчас свернули лавочку подняв шухер.
-
Ты фурри или чулочный трап?
-
Почему так а не наоборот? ИИ по идеи разгоняет найм в ИИ и все что около Ну я не беру в рассчет HR моменты, я про необходимость в кодомакаках. Сейчас тренд на closed-source, компании гоняются за технологическим приемуществом, не хотят вендорлоки, форкают все оупенсурсное и пишут все свое, благо ИИшка помогает бороться с бойлерплейтом. Но по сути из-за клоузед сурса, развития новых языков и технологий решающих новые проблемы, без новой базы для обучения моделек быстро придет осознание что ИИшка просто размазала собранные на открытых данных знания эпохи оупен-сурса по куче компаний, дотянух всех примерно до одного уровня, а нового кода для тренировки моделек нет, да и в целом отсутствие прогресса в достижении AGİ приведут к тому, что у компаний куча Everything as a Code а обновлять и мейнтейнить этот код нужны люди. Это конечно мое абстрактное видение, но даже мне с каждым месяцем ИИшка все меньше помогает в решении проблем и все больше нужно опять думать самому.
-
Не все, сейчас ии пузырь лопнет всех потрясет и обратно найм будет
-
Какие циклы вы что ебанутые. Курс это блять интегральная величина зависящая только от текущего положения дел. Если какие-то цикличные влияния и могу прослеживаться, то на ту долю на сколько оказывает влияние годичный цикл.
-
Все так. Причем не важно, змагар это или лукашист.
-
Фильм маска это кстати говоря аллюзия на алкоголизм. Никакой маски на самом деле нет, он просто алкаш. Маска никого не убивал
-
Ну есть смайл pepedaun в хохлоцветах. Где-то видел гуманитарные сборы *нашимальчикам* дохуя слышал «хохлы сами виноваты, не почувствовали дуновения ветра, но войну осуждаю скорее бы конец» но вот «zzz гойдааак до последнего хохла» такой хуйни не встречал. Я думаю любой адекватный человек с iq больше двух знаков понимает, что в целом лучшая стратегия это игнорировать события и выдерживать статус кво.
-
Ты всё ещё в РБ ? Многие у вас сейчас симпатизируют РФ и русскому миру на фоне происходящего последние годы ? Глубинный народ - возможно. Я не знаю какие там сейчас тренды в телевизоре. Но ощущение, что даже наш телевизор просто старается не замечать гойды заворачивая все в стандартные «Поляки лязгают оружием, но спасибо АГЛ за мирное небо» Сводок с полей сражений тут точно не крутят. К слову я Z-дрочева не видел даже во внутренней кухне Т-банка. А белорусы работающие там в разговорах часто использовали нейтральное «русаки» Россиянам все так же напихивают хуев в соцсетях за «Белоруссию», рекомендуют сходить в «Васильки» и жадаюць усяго благога. В целом все устали и хотят вернуть 2019. Чтобы без санкций летать в Черногорию. У меня ещё знакомые работают на заводах которые внезапно поднялись из грязи с этой войной. (Пеленг/Интеграл) но и они не радуются этой войне. Наверное не хочется думать, что зарабатываешь кровавые деньги.
-
Повезло точикам, что под горячую руку помойный кот не попался. Тогда пришлось бы отсидеть
-
Ну менеджеру премию однозначно надо будет дать
