2

修复内存泄漏是件好事,但我想知道除了内存问题之外,内存泄漏修复是否也有助于提高性能。

4

4 回答 4

3

一般来说,是的。主要原因是由于内存泄漏,您的程序将不断地从系统中获取新的内存,而这些内存不会在缓存中。如果您正确释放内存,您很快就会获得相同的内存,并且它已经在缓存中。

于 2012-06-28T03:20:43.433 回答
1

好吧,内存泄漏实际上以某种方式提高了性能,因为您可以节省释放它们的时间 XD。但是当然,当可用内存不足时,您的系统肯定会遇到某种性能问题。

于 2012-06-28T03:32:32.967 回答
1

没有明显的方式,很可能。它可能会稍微提高缓存性能。如果您的系统在几乎没有可用内存的情况下运行,它也可能会产生性能差异,但您几乎肯定会在系统中遇到更大、更明显的性能瓶颈。

于 2012-06-28T03:21:25.743 回答
0

这在很大程度上取决于您的代码。例如,delete 正在调用对象的析构函数(除了花费时间来释放内存),这可能很耗时,具体取决于析构函数的代码。另一方面,缓存未命中与小对象相关,而页面错误与非常大的对象相关,因此避免内存泄漏也可以显着提高性能。

也就是说,性能优化很可能比这要低得多。

于 2012-06-28T03:32:21.643 回答