В телеграм чате Yii3 интересное обсуждение: если мы делаем неизменяемый объект у которого в цепочке вызываем клонирующие методы →withXYZ(…) — не будет ли это тормозить? Много лишних объектов в промежутке, расход памяти, нагрузка на GC…
Написали тесты: https://github.com/viktorprogger/clone-bench/blob/master/src/CloneBench.php
По результатам выходит, что клонирование в 2 раза медленнее. Но счёт идёт на четверть микросекунды при 1 млн revs, т.е. экономия на спичках.
Кстати, рекомендую заглянуть в исходники тестов и познакомиться с PhpBench.
Post #1008
1.18K

- 🔥 14
- 😁 4