查看单个帖子
  #55 (permalink)  
旧 2008-03-02
cat cat 当前离线
高级会员
 
注册日期: 2003-11-06
帖子: 1,563
文章: 6
cat 正向着好的方向发展
默认 回复: 请教各位大大关于动态内存管理的问题……

引用:
作者: ajoo
对呀对呀,静态代码分析才是王道。
让程序员在代码中手工加入delete是丑陋的,因为“什么时候这个对象不需要了”这个信息是代码本身就已经提供了,手工delete是冗余,增加了麻烦和出错机会。
王道的说,能优化的优化掉,剩下的交给GC. 这样的代码可能比手写的还好。

引用:
作者: sjinny
汗一个……我一直认为,程序员永远比编译器更了解自己的程序……如果静态分析会从根本上剥夺程序员的控制权,那我觉得这样就不好了。把程序员从底层解放出来,从更高层进行控制,这我还是能接受的。
编译器产生的汇编还是很强劲的,会有不少妙手。如果不是对汇编极其了解(比如housisong)很难写得出,或者作进一步优化。不是每个程序员都有精力到那个程度的。你能确定内存不是这样吗?

引用:
作者: sjinny
延后释放,其实是把释放的压力集中在了某一次申请之前,我觉得这样不好。
各种不同资源性质不一样的。对于DB connection如果每次用好都释放掉会很慢的。所以要connection pool.
内存也一样,太积极太确定的话,你的一个delete导致C++ Runtime发现一个page没人用了然后直接还给OS下次再申请恐怕效率也高不了。
所以说极端完美的确定恐怕并不能达到你想要的效果。

此帖于 2008-03-02 01:15 AM 被 cat 编辑.
回复时引用此帖