在什么情况下,垃圾回收比手动内存管理更有效?(这里手动可以是指在C中使用malloc和free,或者由C++普及的更干净的RAII和智能指针技术)
我喜欢垃圾回收可以从编写软件中消除一些意外的复杂性,但我更喜欢RAII和智能指针能够消除该复杂性的同时还可以处理除内存之外的资源,具有确定性、提供性能保证并且总体上更为高效。因此,我认为我可以安全地忽略垃圾回收。然而,我注意到人们一直在说垃圾回收比C++中紧密的资源管理更快,例如当有大量可用内存时。
那么,在什么情况下,垃圾回收可以胜过手动内存管理呢?我喜欢RAII和智能指针,但如果垃圾回收更快,我也很乐意接受它作为另一个工具。
我喜欢垃圾回收可以从编写软件中消除一些意外的复杂性,但我更喜欢RAII和智能指针能够消除该复杂性的同时还可以处理除内存之外的资源,具有确定性、提供性能保证并且总体上更为高效。因此,我认为我可以安全地忽略垃圾回收。然而,我注意到人们一直在说垃圾回收比C++中紧密的资源管理更快,例如当有大量可用内存时。
那么,在什么情况下,垃圾回收可以胜过手动内存管理呢?我喜欢RAII和智能指针,但如果垃圾回收更快,我也很乐意接受它作为另一个工具。