|||
前段时间一直在编程,想从基因组参考序列里提取想要的一点东西。折腾了很长时间,终于编程完毕。其中修复了若干错误,每次修复一个错误,虽然很高兴,但也不免担心还有不知多少隐藏的错误没有被发现。
不管如何,到目前仍未找到更多的错误,而且就测试例子来说,运行结果还是满意的。于是将人类参考基因组序列导入进行计算。但计算速度之慢,远超估计。
于是想着改进一下程序,争取能更快地实现目的。需要说明的是,我使用的是perl语言。
在程序中,有一个步骤需要在大范围里找到很多东西,由于考虑到内存限制,第一次使用的正则表达式。于是想到是否散列(hash)会更快?于是改为散列查找,但运行速度不仅没有改善,反而更慢,同时消耗了更多内存。改进失败,于是再次修改为数组查找,实现遍历一遍完成目的。但运行结果显示速度和散列查找差不多,但内存消耗更多。
总结如下:
1、脚本语言主要是为了方便编程,提高运算速度可能不是强项。
2、正则表达式的效率确实值得称赞。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 07:34
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社