ObjectPool бенчмарки 2
Во втором случае, ну набежало 11 Мб и это по сути ASP.NET оверхед, который накопился бы даже если бы мы дергали пустой эндпоинт. В общем, память не раздувалась и это ожидаемый результат.
То есть 0️⃣ сборок мусора за 4500 запросов против 3️⃣!
Пока писал бенчмарк, понял, что так еще круто кэшировать большие объекты, которые тупо затратно создавать каждый раз. Создал заранее много, а потом достаешь уже готовые по необходимости. То есть еще и на создании чуток экономишь.
Вот тут код. Можете посмотреть, как все устроено. Я там для большей показаетльности сделал ExpensiveObject более экспансивным, что он стал весить 80 Кб, и заюзал ConcurrentDictionary чтобы можно было кучу запросов параллельно делать. Но суть примерно та же что и в примере выше.
P.S.: Спасибо большое Валере за идею! Валера получает от меня сотку лайкосов 💯 👍
Post #272
427

- 👍 4
- ❤🔥 2
- ❤ 2
- 💯 1