Swift内存所有权宣言
根据Chris Lattner介绍,Swift 4的主要目标之一就是要定义一个类似于Rust/Cyclone的内存所有权模型(Memory Ownership Model)。Chris Lattner是Swift的创建者,在跳槽到Tesla之前曾担任Swift团队负责人。在Swift 4当前已进入第二阶段的情况下,Swift团队发布了一个宣言,详细阐明了Swift内存所有权的工作方式。 Swift编译器为确定所有权转换的时机,已实现了一种自己的不透明所有权模型(即ARC)。虽然所有权在一些情况下是很明晰的,但是编译器也会在一些情况下做出错误假设,进而导致不必要的复制。简而言之,Swift的新内存所有权模型使得内存复制尽可能地处于开发人员的控制之下。定义该模型在于尽量克服当前写时复制(copy-on-write)在引用计数方法上的不足之处,包括:引用计数的开销及性能偶尔无法预测,以及为实现随时可复制的需求而笼统地分配堆内存。 虽然这些缺点通常对于应用编程并不会构成问题,但是对于那些需要一定性能保证的系统编程而言却不受欢迎。此外,更灵活的内存管理模型具有显著优点,这些优点同样适用于应用编程...