¿Qué es la copia profunda de objetos (copy.deepcopy) en Python desde una perspectiva de rendimiento? ¿Cómo evita este mecanismo las referencias cíclicas, por qué funciona críticamente lentamente en grandes grafos de objetos, y qué patrones alternativos lo reemplazan en sistemas de alta carga?