Евгений Пешков — Многопоточность в .NET: когда производительности не хватает
Ошибки и проблемы использования многопоточности в .NET.
Платформа .NET предоставляет множество готовых примитивов синхронизации и потокобезопасных коллекций. Если при разработке приложения нужно реализовать, например, потокобезопасный кэш или очередь запросов — обычно используются эти готовые решения, иногда сразу несколько. В отдельных случаях это приводит к проблемам с производительностью: долгим ожиданием на блокировках, избыточному потреблению памяти и долгим сборкам мусора.
Эти проблемы можно решить, если учесть, что стандартные решения сделаны достаточно общими — они могут иметь избыточный в наших сценариях оверхед. Соответственно, можно написать, например, собственную эффективную потокобезопасную коллекцию для конкретного случая.
В докладе рассмотрим несколько примеров, когда использование средств из стандартной библиотеки .NET (, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и поговорим о решениях, заточенных под конкретные задачи и лишённы
2 views
899
341
3 months ago 01:14:08 1
Спектакль театра имени Моссовета “Серебряный век“. Часть 1
3 months ago 01:00:00 1
Константин Хабенский. Линия жизни / Телеканал Культура
3 months ago 01:37:01 1
“Академик Иван Павлов“. Художественный фильм (Ленфильм, 1949) @SMOTRIM_KULTURA
3 months ago 03:07:00 2
Золотая лихорадка нашего времени в маленьком городке. Криминальный сериал. Чистая проба- 1-4 серии.
3 months ago 00:07:16 1
Спастись в эндшпиле без пешки или победить? Эрик РОЗЕН 🆚 Евгений ШУВАЛОВ