2009年2月28日星期六

下一步优化的展望

今天没出什么太麻烦毛病,只是发现了一个崩溃 - 事实上崩溃本身倒是小问题,反而在我机器上重现崩溃的时候意外发现了一个错误,那个才是大问题,算是歪打正着。修正这两个问题用的时间不算多,其他一切尚好,就看发放到外网以后效果如何了。

对driver来说,内存上可优化的空间仍然有一些,我在考虑去掉value的引用字段,然后将double类型的real退化到float类型,这样可以将变量压缩,可以再节省8M的空间。而且如果取消了引用,那么容器mapping & array都可以考虑压缩空间,那样这一项节省的效果就将超过8M,合计可以节约16M以上的内存。

注:为了使得mapping和array的值能够被引用,我在容器中保存的是指向value的指针而不是value本身,这样就会多申请一些小片的内存,另外,这个指针本身也是要占用4个字节空间的。

另外,针对指令来说,还可以做进一步的优化,提高运算和调用的速度,但是这样要冒更大的不稳定的风险,对指令的优化是最容易出问题的。

但是,不管怎么样,这种优化的结果都无法和上层实现的优化相比。目前上层的逻辑资源开销过于浪费,客户端启动以后,几乎载入了所有的表、很多不需要使用或是偶然需要使用的资源也常驻内存,这样显然有些不划算。所以,针对具体逻辑的调整才是重点。现在,我多做一些profile的工具才是正理。

没有评论:

发表评论