最近又出现了一个问题:同样的一个C程序,在同样的数据集,单线程,在不同的机器上跑,性能差距高达30倍以上(30s/1000s)。程序内存消耗不足300MB,数据集大小近100GB。
这两台机器的配置分别是:
分别称A和B机器。
从主频来看,B机器的CPU反而更高一些(查阅CPU天梯表,Core i7型号的CPU跑分也高一些)。
那么问题应该出在内存上。通过free -h命令查看内存使用情况,发现A机器RAM的 buffered/cached 高达100GB以上。这立即引起了我的警觉,会不会是数据集被缓存进了系统内存?
于是释放缓存(syncecho 3 >/proc/sys/vm/drop_caches)
然后再执行程序,好了,A机器执行无比缓慢。
究其原因,我的程序是一个基于索引的查询算法,这个程序刚好运行在索引构建算法之后,因此查询时涉及到的源数据访问,全都在索引构建算法的访问范围之内,因此被缓存进内存。
这也提了个醒,任何比较效率的算法,首先要在程序运行前清空缓存,否则不能反映真实情况,因为I/O的代价可能都变成了内存访问,使得结果过于乐观。
为了提高访问网页的速度,Internet Explorer浏览器会采用累积式加速的方法,将你曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。这个存放空间,我们就称它为IE缓存。以后我们每次访问网站时,IE会首先搜索这个目录,如果其中已经有访问过的内容,那IE就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。 设置IE缓存大小 要提高IE的访问速度,IE缓存是必不可少的。IE缓存默认安装在系统区,而且会需要占用较大的系统空间。所以如果你的系统空间的确很紧张,可以将缓存占用的空间设得小一点,在IE的“工具”菜单下选择“Internet选项”,然后在“常规”选项卡中你会看到有“Internet临时文件”这一项,单击“设置”按钮,然后在d出的“设置”对话框中将缓存大小设置为一个合适的值。你也可以直接将IE缓存移动到其它位置上去。 “Internet临时文件”下单击“设置”,然后在“设置”对话框中单击“移动文件夹”按钮,在“浏览文件夹”中选择文件夹,将IE缓存移动到其他地方,这样就不必担心IE缓存太大,占用更多空间了。问题一:在清理手机缓存后手机里的照片会不会丢失 回复U01514534 的帖子楼主,你好,清缓存的话是不会清除照片等文件的,还请您放心。 查看原帖>>
问题二:清除和缓存数据,手机里的东西会丢失麽? 你好,清除缓存数据不会丢失,清除数据会丢失手机里的联系人、短信和程序等等,所以一定记得备份资料哦。
若您还有其他的问题咨询,您可以进入OPPO企业平台向客服咨询提问喔!
问题三:小米四双清清除缓存会丢失什么 比如视频网站缓存的电影啊,地图软件的数据包,还有上网时缓存的文件啊之类的了
问题四:手机微信清理了缓存,聊天记录还在吗 楼主,您好。如果是清理缓存的话,聊天记录是会丢失的。
进入“清理微信存储空间”功能后,下面就是你平时用微信产生的垃圾。如果其中没有你需要的,你直接点左下角的全选,然后点击右下角的删除。这样微信垃圾就清理完毕了。
问题五:微信清除缓存后,保存的视频会消失吗? 会的,清理缓存之后只有文字在,图片以及视频都没有了
问题六:王者荣耀缓存清楚后会不会什么都没了 这个是不可能的,游戏数据在腾讯云端,清除数据只是清除了游戏素材,资源之类的。不过最好不要清除数据。
问题七:微信中清除数据时我的收藏里的东西会丢失吗 不会,在登陆,他还在你微信里
-- 猴岛游戏论坛为您解答
问题八:微信清理缓存后里面收藏的资料和朋友圈分享的信息会不会丢失 小号亲测:
微信 其他 剩余
XXXMB XXXXGB XXXGB
已成功清理XXXMB的临时文件
微信占用不到10%的存储空间,可用存储空间富余,建议不清理
下面是两个按钮
第一个:查看微信存储空间
第二个:手机瘦身
再查看收藏,里面收藏的2篇文章还在的,至于朋友圈分享的信息,本事就是在服务器上的,跟你清理没有关系,都会在的。
问题九:ae清理所有内存与磁盘缓存会导致源文件丢失吗 清理缓存不会对源文件产生影响的。你做的保存了都还在的。只是下次打开要重新渲染
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)