为什么将`frozen = true`添加到dataclass都会使其变慢?
如上所述。特别是,我认为它是慢的两倍。我会认为这会使事情更快。
from timeit import timeit
setup = """
from dataclasses import dataclass
@dataclass(frozen=True) # repeat with False
class A:
a: int = 1
b: int = 1
"""
code = """
obj = A(3, 2)
"""
print(f"{timeit(code, setup, number=1000_000)=}")
As above. In particular, I see that it is twice as slow. I would have thought it makes things faster.
from timeit import timeit
setup = """
from dataclasses import dataclass
@dataclass(frozen=True) # repeat with False
class A:
a: int = 1
b: int = 1
"""
code = """
obj = A(3, 2)
"""
print(f"{timeit(code, setup, number=1000_000)=}")
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
摘自 frolozen Instances :
From the documentation of frozen instances: