昨天,调试一个小程序,虽然失败了无数次,但依然想把它做好!
先给大家看一下程序当时的运行效率:
大约每秒5454KB左右。
但是,经过无数次的编译,测试,在源代码算法没有改变的情况下,
程序效率突然大幅降低!!吓了我一跳!降低了多少?请看图:
每秒只有1272KB左右!效率降低高达76%!
怎么回事?调试这么辛苦就为了提高一点效率,这可好,一下子降这么多...
镇静,一定要镇静!有问题就一定有解决的方法!
想起前段时间玩《霹雳奇侠传》,遇到声音丢失的情况,难道又是注册表在搞鬼?
马上打开注册表编辑器搜索,找到了下面两个键值:
将这两个键值删除后,程序效率立马就恢复了!
呵呵,想起以前听到有人说,有时候电脑开久了慢得很!看来还是有其道理的。。。
那又是什么原因导致了这个情况?知之为知之,不知百度之!度娘帮我找到了微软的一篇官方文章:
https://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx
但是老游我英文很烂,看不太懂,有兴趣的同学可以自己去看下。
文章好像是说,这是为Win7设计的功能,叫Fault Tolerant Heap(简写为FTH),用于监测那些有问题的程序,
缓解系统崩溃的情况。不想使用这个功能的话,可以修改注册表HKLM\Software\Microsoft\FTH\Enabled的值为0。如图:
然后打开运行,或者打开CMD,输入命令Rundll32.exe fthsvc.dll,FthSysprepSpecialize 这样FTH这个功能就关闭了。。。
也就是说,FTH这个功能可能缓解系统和程序崩溃的情况,但是如果你不想使用它,也可以将它关闭。。
老游
2015.07.16
精彩评论