Что такое глубокое копирование объектов (copy.deepcopy) в Python с точки зрения производительности? Как этот механизм обходит циклические ссылки, почему он критически медленно работает на больших графах объектов и какими альтернативными паттернами его заменяют в highload-системах?