关闭

程序设计1

891人阅读 评论(0) 收藏 举报

 

当处理大批量的数据时,不仅要考虑算法的正确性,也要关注程序实现的健壮性,如果发生存储资源不足等类似的问题时,你做如何的应对?

在专利搜索中,有一个叶子节点的处理器,是对输入的文本分词,并统计词的频率,记录其所有出现的位置(包括段号、句号、句内位置号),词及其统计信息可被称为一个factor,该处理器就是把文本变换成这样一个factor序列。原来使用数组来存储这个序列(为的是可以随机存取),并且不做预先扫描来确定其精确的存储空间,就开了个最大值——文本中词语的个数(为了时间上的效率考虑)。但今天早晨发现,有一个说明文本在10M以上,其词语的个数以百万计,而在当时我的机器运行环境下,申请内存空间的操作造成了程序的崩溃。

也就是说,作为内核部分,要为健壮性而设计,必须考虑这个factor序列的存储机制,如果内存空间不够怎么办?毕竟,对于该处理器来讲,输入是可以任意大的。

一个教训。

 

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:127523次
    • 积分:1888
    • 等级:
    • 排名:千里之外
    • 原创:59篇
    • 转载:3篇
    • 译文:0篇
    • 评论:55条
    最新评论
    友情blog