gpt4 book ai didi

java - 提高 BufferedReader 速度

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:52:03 25 4
gpt4 key购买 nike

我正在处理数 GB 的文本数据,我想知道是否有提高性能的方法。例如,当遍历 10 GB 的数据并且根本不处理它时,只是逐行迭代,大约需要 3 分钟。

基本上我有一个包含 BufferedReader 的 dataIterator 包装器。我连续调用此迭代器,它返回下一行。

问题是创建的字符串数量吗?或者可能是函数调用的次数。我真的不知道如何分析这个应用程序,因为它被编译为 jar 并用作 STAF 服务。

任何和所有的想法都值得赞赏吗?

最佳答案

让我们从基础开始:您的应用程序受 I/O 限制。您不会因为对象分配、内存或 CPU 限制而遭受糟糕的性能。由于磁盘访问,您的应用程序运行缓慢。

如果您认为可以改进文件访问,您可能需要借助于使用 JNI 的低级编程。如果您自己更有效地处理文件访问,则可以改进它,而这需要在较低级别上完成。

我不确定使用 java.nio 是否会按您正在寻找的幅度为您提供更好的性能,尽管它可能会给您更多的自由来执行 CPU/内存密集型操作,而我/O 正在运行。

原因是,基本上,java.nio 用一个选择器包装文件读取,让您在读取缓冲区以供使用时收到通知,确实为您提供了异步行为,这可能有助于您性能有点。但是读取文件本身 是您的瓶颈,java.nio 不会在这方面给您任何帮助。

所以先尝试一下,但我不会对此抱太大希望。

关于java - 提高 BufferedReader 速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922441/

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