我看到一个在reddit上的评论,指出使用
总之,我想了解使用
Cell<T>
会阻止某些优化:
这似乎与我读到的其他关于Cell没有内存开销(Cell和T的大小相同),运行时开销小(它“只是”抑制了优化,不会引入额外的显式操作)。
Cell<T>
的东西相反,特别是它是“零成本”的。我第一次遇到这种分类是在这里。总之,我想了解使用
Cell<T>
的实际成本,包括它可能阻止的任何优化。
UnsafeCell
文档(请注意,Cell
本身对编译器并不特殊,因为它不是语言项; 它从其内部的UnsafeCell
“继承”了这个属性)。 - trent