Skip to content

perf: Consider removing deepcopy  #311

@walldiss

Description

@walldiss

The use of deepcopy() in our codebase significantly reduces performance because of the large number of allocations it requires. There is no need for deepcopy() if the caller only wishes to read the data and not modify it. This creates a performance burden for readers to protect the interests of those who may want to modify the data. It would be more efficient to perform deepcopy() on the caller's side when necessary, rather than doing it implicitly all the time. We might want to consider documenting exported methods to indicate that a deepcopy() is needed if the data is to be modified. And remove preemptive deepcopy() from exported methods.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions