Accessing the __dict__ attribute of an object causes the dictionary to be materialized.
This has a negative impact on performance.
We should provide means to access the __dict__ without forcing materialization, which can be used in copy, pickle and any third party code that chooses to.
I propose two new methods on object:
__dict_copy__(self), which will be equivalent to self.__dict__.copy(), but without materializing the dictionary of objects with virtual dictionaries.
__dict_update__(self, arg), which will be equivalent to self.__dict__.update(arg), but without materializing the dictionary of objects with virtual dictionaries.
Linked PRs
Accessing the
__dict__attribute of an object causes the dictionary to be materialized.This has a negative impact on performance.
We should provide means to access the
__dict__without forcing materialization, which can be used in copy, pickle and any third party code that chooses to.I propose two new methods on
object:__dict_copy__(self), which will be equivalent toself.__dict__.copy(), but without materializing the dictionary of objects with virtual dictionaries.__dict_update__(self, arg), which will be equivalent toself.__dict__.update(arg), but without materializing the dictionary of objects with virtual dictionaries.Linked PRs
__dict__s inLOAD_ATTR_WITH_HINT#106496__dict__#107837