Вакансия ко мне в команду (С# middle+) https://job.ozon.ru/vacancy/razrabotchik-c-logistika-raspisaniya-i-otgruzka-magistrali-6325a95b-c850-4482-85f3-150b6ad8a925
Самая хот тема у нас — управление воротами на сортировочных центрах и складах. Активно расширяем сейчас команду для нашего светлого будущего — полной автоматизации постановки на ворота и очереди водителей. Приехал, увидел в приложении куда тебе встать, встал на ворота, загрузился, уехал, ни с кем не поговорил, ничего не подписал.
Хорошая сформировавшаяся команда, перспективное направление.
Работа удаленная, но почти вся команда питерская. Резюме можно мне в личку, а можно откликаться по ссылке (можно указать что от меня, можно не указывать)
P.S. По особенностям работы в Озоне вообще и у меня в частности готов рассказать в личке
Самая хот тема у нас — управление воротами на сортировочных центрах и складах. Активно расширяем сейчас команду для нашего светлого будущего — полной автоматизации постановки на ворота и очереди водителей. Приехал, увидел в приложении куда тебе встать, встал на ворота, загрузился, уехал, ни с кем не поговорил, ничего не подписал.
Хорошая сформировавшаяся команда, перспективное направление.
Работа удаленная, но почти вся команда питерская. Резюме можно мне в личку, а можно откликаться по ссылке (можно указать что от меня, можно не указывать)
P.S. По особенностям работы в Озоне вообще и у меня в частности готов рассказать в личке
job.ozon.ru
Ozon — это вселенная, где каждый найдёт своё место
Мы все разные, но вместе мы растём и стремимся делать ведущий e-commerce в России
👍4👎1🔥1
var dict = largeListOfItems.DistinctBy(item => item.KeyId).ToDictionary(item => item.KeyId);
Внезапно оказалось, что этот код:
1. Аллоцирует внутри DistinctBy хешмепу
2. Причем размер ее не берется из размера largeListOfItems, а задается дефолтный, т.е. по мере прохождения по листу несколько раз реаллоцируется
3. DistinctBy наружу отдает IEnumerable, следовательно ToDictionary не знает размера входящей коллекции и реаллоцирует словарь несколько раз.
Поскольку лист большой, это несколько раз оказывается в Large Object Heap и благополучно там живет до следующего Gen2
Нужен вариант ToDictionary c встроенным Distinct (ну или руками его написать)
https://github.com/dotnet/runtime/issues/113096
GitHub
[API Proposal]: Enhance ToDictionary with Duplicate Key Handling Options · Issue #113096 · dotnet/runtime
Background and motivation The Enumerable.ToDictionary extension method is a highly convenient way to convert a collection into a dictionary. However, its current implementation immediately throws a...
👍2