给测试内存占用朋友的一点建议!
看到很多朋友喜欢将马XX、TXX、GXX放在一起比较内存占用,然后根据在任务管理器中得出的内存占用数字,得出XX好于XX的结论。我不知道大家为什么会认为内存占用低就比内存占用高要好(我就喜欢在我的1G内存上用Firefox,开足了缓存后,真是快得冒烟哟),要提醒大家的是:你看到的内存占用不一定是真实的!很多软件都有所谓的动态释放内存功能,一般是在最小化时进行,也有的定时进行(比如珊瑚虫的QQ外挂)。另外,windows自身也有这种类似的机制,当程序最小化时(处于后台)适当的减少物理内存供给,但会增大相应的虚拟内存占用。所以,在测试内存占用时,要做到以下几点:
1、保持程序在最大化状态;
2、保持程序在最前台运行;
3、如果用任务管理器来测试,应该先开任务管理器,再运行程序;
4、对比测试应该依次进行,不要同时进行,因为这样就难以保证1、2点了;
5、关闭有的程序自带的释放内存功能。
最后,说一下释放内存功能。其实也没有什么好说的,只有一句话:不要相信除了操作系统以外的内存管理!
如果大家想深入了解这个所谓的“内存释放”,请到MSDN中搜索“SetProcessWorkingSetSize”,你就会知道它的含义了。 我觉得没有科学的测试方案的结果都是没有价值的
所以如果一般的朋友的测试不严谨,我劝不要放到论坛上,自己相信就可以了,免得引起争议
如果贴测试结果,就一定要贴测试方案 顶楼住,SetProcessWorkingSetSize这个函数误导了一批用户阿 **** 作者被禁止或删除 内容自动屏蔽 **** [quote]原帖由 [i]mutalisker[/i] 于 2006-10-2 16:38 发表
顶楼住,SetProcessWorkingSetSize这个函数误导了一批用户阿 [/quote]
TW也用上,没什么不好,给用户个选项! 支持楼主的说法
对于测试 应该科学谨慎地对待
先考虑好各种可能的因素 其实感觉不到影响其它程序,也没感觉到这个程序运行不对,则可以不考虑内存占用。 楼主说得对。合理的减小内存占用是优化程序,减小不必要的内存花销,而不是纯粹的SetProcessWorkingSetSize。
页:
[1]