我有一些大文件(数百MB),我需要搜索几千〜20个字符的唯一字符串.
我发现,使用管道交替元字符匹配的正则表达式一样(string1|string2|string3)的速度搜索过程有很多(相对于在同一时间寻找一个字符串).
这种规模有多大的限制是什么?我可以像这样链接多少个表达式?它会在某些时候引起某种溢出吗?有一个更好的方法吗?
编辑
为了使我的问题简短,我没有强调我已经使用这种交替方法实现了代码的事实,我发现它有用:在具有典型数据集的测试用例中,运行时间从87分钟到18秒 - 加速290倍,显然是O(n)而不是O(n*m).
我的问题涉及当其他用户将来使用具有更大文件和更多搜索术语的更大数据集运行此代码时,预期此方法如何工作.原始的O(n*m)代码是已经使用了13年的现有代码,最近指出它的缓慢,因为它最近运行的基因组相关数据集已经变得更大了.