Исследование производительности механизмов синхронизации в Swift

За время работы iOS-разработчиком я не раз встречал те или иные рекомендации по выбору быстрого механизма синхронизации. Если нужна высокая производительность, то используйте os_unfair_lock. Если чтений гораздо больше, чем записей, то присмотритесь к read-write lock или concurrent queue с barrier-записью. А когда речь заходит о Swift Concurrency, нередко можно услышать, что actors работают медленно и проигрывают обычным блокировкам.

Мне захотелось проверить, насколько эти рекомендации подтверждаются на практике. Поэтому я решил сравнить механизмы синхронизации в задачах, похожих на те, которые встречаются в реальных приложениях. И заодно выяснить, есть ли механизм, который можно выбирать по умолчанию для большинства таких задач.

Читать далее

Щелкните ниже, чтобы поставить оценку!
Всего: 0 В среднем: 0

Написать комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *