Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby中的快速字符串拆分和连接_Ruby_String_Optimization_Split_Concatenation - Fatal编程技术网

ruby中的快速字符串拆分和连接

ruby中的快速字符串拆分和连接,ruby,string,optimization,split,concatenation,Ruby,String,Optimization,Split,Concatenation,我有一个非常长的字符串,包含DNA序列数据,通常约500k到5m个字符长。 我想从开头剪切前n个字符,并将它们添加到该字符串的末尾 我需要对大约2000个DNA序列运行该方法-这就是为什么我担心速度。我不想把我的电脑屏蔽一周 在ruby中最有效的方法是什么 一个附带的问题是内存效率。因为我只需要在每个序列中运行一次这个任务,这对我来说并不重要,但通常快速并不意味着更少的内存,对吗?我的电脑有2个gigs内存可用(希望足够) 如果您对我为什么需要这样做感兴趣: 我想这样做的原因是,我的原始材料是针

我有一个非常长的字符串,包含DNA序列数据,通常约500k到5m个字符长。 我想从开头剪切前n个字符,并将它们添加到该字符串的末尾

我需要对大约2000个DNA序列运行该方法-这就是为什么我担心速度。我不想把我的电脑屏蔽一周

在ruby中最有效的方法是什么

一个附带的问题是内存效率。因为我只需要在每个序列中运行一次这个任务,这对我来说并不重要,但通常快速并不意味着更少的内存,对吗?我的电脑有2个gigs内存可用(希望足够)

如果您对我为什么需要这样做感兴趣:

我想这样做的原因是,我的原始材料是针对DNA中的特定点进行分析的。这一点需要在DNA中间某个地方,以便在以后的分析中更方便。如果这一点接近结尾或开始,我需要拆分和浓缩DNA序列串。序列是圆形的,这一点是细菌基因组中dnaA的最高冲击波(来自NCBI数据库)。由于大多数注释倾向于使用dnaA基因的位置作为起始位置,如果您想处理该基因周围的区域,这是非常烦人的。

听起来很有趣

您可以运行基准测试,看看哪种方法最有效:

您不必为此安装rubinius,但它将为您提供多线程ruby,就像jruby一样,如果您的计算机上有多个内核,它可能会更快


要了解如何运行基准测试,请检查以下内容:

谢谢,这听起来是正确的方向。我将对一小部分序列的字符串操作进行基准测试。我第一次使用拆分和合并的方法在我的计算机上运行正常,所以我想我对速度的担忧已经消失了。