无聊的优化

Knuth说过盲目的优化是罪恶的根源,这话一点不假,因为经理说“你这个动态返回太慢,要改进。” 于是开始了这两天

的优化历程。

 

  东西很简单,将一个地区分块,按照octree,使用16格分块,总共5层。建立索引。每次导入的线条都预生成

索引。 所以我要一个索引器。

 

   这个索引器没什么特别,普通的递归而已。 到最后开始存放索引的时候,问题出现了,:这个东西有些大,变成

文件有276m之大。在每次网络传输都占用了大量的时间。我的索引数据一开始存放在tokyo cabinet上。(因为

以前的测试结果还令人满意)。 可惜这么多的数据序列化和传输占用了大量时间,还是慢。于是想到了并行。

 

用executor将一些关键的任务分解,嗯,,似乎快了。快了至少有两倍。好像也达到目标了。

 

今天下午想想,有些不爽,想起以前曾经用过的db4o.于是拿出来试一下,不用并行,结果大跌眼镜:居然比优化过的方案

还快两倍。 仔细想想发现之前的优化极其无聊:这个索引基本上每个tenant只需要一个,用不着每次都从server拉下来。

再优化,网络的瓶颈还是摆在那里的。

 

不过并行计算还是有用的,中间有一步过滤使用executor在我的 dual core 2.5g上快了大约两倍。如果cores数量

上去,还可以更快。 我还考虑以后用scala的actor来代替现在的 executor方式重新实现一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值