Код в ConcurrentHashMap высоко оптимизирован - я бы просто использовал его.
Издержки параллелизма минимальны, если обновлений мало.Если во время чтения происходит операция записи, при создании временной копии внутреннего состояния возникают некоторые издержки, но в остальном разница в производительности незначительна.Я бы использовал предоставленный класс как есть, и только если вы обнаружите, что у вас проблемы с производительностью, , а затем изучите использование чего-то другого.
Обратите внимание, что стоимость инициализации не имеет отношения к производительности параллелизма,только операция добавления его на карту.