gpt4 book ai didi

java - 比较二进制数据和逐行字符串哪个更快?

转载 作者:行者123 更新时间:2023-12-01 12:56:32 25 4
gpt4 key购买 nike

问题

我在这里描述了我的问题的一个非常简化的版本。我有一个巨大的文件(10-50GB),我需要将其分成数百万个 block 。假设我有某些行包含字符串“SPLITTER”。我需要按这些行分割文件。每个 block 将包含两个 SPLITTER 行之间的文本。

这当然非常简单,实际用例将涉及更复杂的匹配/拆分。

问题

所以我们这里有一个流匹配问题。哪个更有效:将其视为字符串匹配问题,使用缓冲读取器读取行并根据其进行比较和拆分? - 或 - 将文件视为二进制输入流,将分隔符字符串视为数组 [Byte] 并进行逐字节比较?

在开始实现某些内容之前,我需要获得洞察力。

我正在使用Java。此外,原始输入将从 bz2 中即时解压缩,无论其值(value)如何。

最佳答案

将数据视为原始字节总是会更快。将数据作为字符串获取意味着将其作为字节读取,然后创建新字符串。

关于java - 比较二进制数据和逐行字符串哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23839782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com