Что такое sync.Map amortized operations?

Middle+
110 просмотров
AFK Offer AI

sync.Map использует две внутренние map: read (atomic, без блокировки) и dirty (под mutex). Чтение идёт из read — O(1) без блокировки. При miss читается из dirty и после N промахов dirty промоутится в read (amortized O(1)). Запись идёт в dirty. Этот двухфазный подход делает чтение очень дешёвым ценой более дорогой записи. Хорошо работает для read-heavy нагрузки.

Следующий вопрос

Что такое schema validation?