china140106的个人博客分享 http://blog.sciencenet.cn/u/china140106

博文

20130426编程感悟

已有 2413 次阅读 2013-4-26 17:40 |个人分类:杂谈|系统分类:科研笔记| 编程

   前段时间一直在编程,想从基因组参考序列里提取想要的一点东西。折腾了很长时间,终于编程完毕。其中修复了若干错误,每次修复一个错误,虽然很高兴,但也不免担心还有不知多少隐藏的错误没有被发现。

   不管如何,到目前仍未找到更多的错误,而且就测试例子来说,运行结果还是满意的。于是将人类参考基因组序列导入进行计算。但计算速度之慢,远超估计。

   于是想着改进一下程序,争取能更快地实现目的。需要说明的是,我使用的是perl语言。

   在程序中,有一个步骤需要在大范围里找到很多东西,由于考虑到内存限制,第一次使用的正则表达式。于是想到是否散列(hash)会更快?于是改为散列查找,但运行速度不仅没有改善,反而更慢,同时消耗了更多内存。改进失败,于是再次修改为数组查找,实现遍历一遍完成目的。但运行结果显示速度和散列查找差不多,但内存消耗更多。

   总结如下:

   1、脚本语言主要是为了方便编程,提高运算速度可能不是强项。

   2、正则表达式的效率确实值得称赞。



http://blog.sciencenet.cn/blog-722297-684270.html

上一篇:浅析学生作弊的危害及如何防范
下一篇:自编一个加减法练习

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-10-29 18:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部