程序设计1

 

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

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

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

一个教训。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值