Бенчмарк на create / read / write для обычного объекта {} и трех режимов защиты: freeze, preventExtensions, seal.
- create: защита дороже обычного объекта ~в x4:
{} 5.7 ns, а для freeze/seal ~25 ns- read: разницы почти нет, все ~1.4–1.6 ns
- write: preventExtensions и seal пишут в существующие поля так же быстро, как
{}, а freeze в кидает исключение ~2245 ns (долго)Вывод: читать frozen можно спокойно, дорого создавать (это обычно редко), а писать в freeze через try/catch не нужно, но в коде freeze может быть, если есть тесты, подтверждающие, что не пишем в поля
https://github.com/HowProgrammingWorks/Object
