Синк мап нужно выбирать по назначению, а не по тому что она использует внутри. В доке описаны два случая когда она подходит. Во всех остальных случаях обычная мапа с мютексом скорее всего будет лучше.
Все же интересны детали реализации.
Сейчас долго въезжал в исходник, он очень сложный для понимания, хотя кода на пару страниц.
Выходит так, что синкмап хранит 2 мапы внутри себя, одна только чтения - read - для доступа к ней локи не ставятся, вторая - для записи - dirty (с ней лок ставится).
Поначалу все данные попадают в dirty и по сути у нас работает алгоритм мапы с локом. Но синкмапа считает кол-во раз сколько мы запросили элемент из dirty. Если это кол-во становится больше чем число элементов в dirty, то текущая dirty сеттится в свойство read.
Довольно сложная логика, в которой я бы не сказал что все успехи и недостатки определяются всего двумя пунктами из доки...
То что доступ к read выполняется без локов вообще может дать синкмапе выйгрыш в скорости по сравнению с мапой с мьютексом.