【发布时间】:2010-10-21 00:00:51
【问题描述】:
我正在编写一个 Perl 脚本,我需要在其中循环遍历字符串的每个字符。有很多字符串,每个都有 100 个字符长(它们是很短的 DNA 序列,如果你想知道的话)。
那么,使用substr 一次提取每个字符是否更快,还是使用split 将字符串放入数组然后遍历数组更快?
在等待答案的同时,我想我会阅读有关如何在 Perl 中进行基准测试的内容。
【问题讨论】:
-
你到底想做什么?举例说明你想对这些字符做什么。通常,有比
substr或split更好的做事方式。另请参阅perldoc.perl.org/Benchmark.html -
我的即兴回答是“没关系”——先让你的脚本工作,然后再考虑优化它。至少在最初,“最快”的方法是最容易编写且没有错误的方法。
-
我通常不会关心优化这么多,但我必须处理大约 400,000,000 个序列。我实际上是在计算每个位置的字符分布,所以我确实需要单个字符。
-
+1 了解如何对此进行基准测试。哪个更快可能取决于您对数据的处理方式,而不是一般情况下的答案。
标签: perl string performance character