5
|
martin clayton egrunin · 技术社区 · 15 年前 |
1
1
对。提取使用
可能会更快。现在,如果我写这段代码,我不会放弃的
另请参见以下答案: Is Perlâs unpack() ever faster than substr()?
对于剥离引导空间,
更新: 如果没有能力进行基准测试,很难说清楚。但是,如何处理:
对于不需要任何修剪的字段和
那需要修剪吗? |
2
7
我真的一次又一次地处理这个问题。 Unpack is better than substr . 就剥离空间而言,你简直是一团糟。这个regex黑客是“官方”的方法。您可以通过优化解包语句来提高效率(假设没有数据超过4位,为什么要解包字段的完整12位?)否则,解析只是一个P.I.T.A。 祝你的平面数据好运。废旧的垃圾,我是多么讨厌。 |
3
3
您确定您在这个任务上绑定了处理器吗?计算非常简单,可以怀疑整个过程可能受到I/O限制。在这种情况下,优化更快的解包不会给您带来太多时间。 如果您实际上是受处理器限制的,那么所描述的问题似乎是相当可并行的,但问题当然在您的业务计算的细节中。 |
4
1
对于XS来说,这也可能是一个问题,因此您可以使用C函数来更改数据。我可以想象这比其他任何东西都快得多,因为您可以手动控制何时真正复制数据。
|
5
1
简单地让它并行进行。它是微不足道的,而且在任何远程现代机器上它都会更快。 |
6
0
基于SUBSTR的代码版本的基准测试表明,它可能比现有的解包快50%左右。 比较实际应用程序中的代码,SUBSTR版本使我们的运行时间减少了16%。 这接近于我们基于基准和问题中提到的分析所期望的结果。 这种优化可能对我们有用。但是,我们已经开始迁移到一个新的操作系统,所以在继续之前,我们将等待并查看代码在那里的执行情况。我们增加了一个测试来关注比较基准。 我们现在的成语是:
然后,像以前一样选择性地去除引导空间。 谢谢你迄今为止的回答。 我会接受西南的,因为它对我们很有效,尽管看起来“完全错误”。 |
Manny · 如何比较Perl中的字符串? 2 年前 |
BioRod · 我不能用Perl打印键和值 2 年前 |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 2 年前 |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 2 年前 |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 2 年前 |
Pranay Nanda · 使用regex解析许可证文件 6 年前 |