gpt4 book ai didi

java - 提高解析文本文件的性能

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

首先,对于我的英语和消息的长度感到抱歉。

我正在用 Java 为学校项目编写一个用于视觉加密的简单应用程序,该项目采用模式文件和 secret 图像,然后使用模式中包含的信息创建 n 个图像。

对于 secret 图像中的每个像素,应用程序会在模式文件中查找矩阵,并在 n 个共享中写入 m 个像素(每个共享一行)。

模式文件包含编码所需的每种颜色的矩阵 (n*m),其组成如下

系列颜色 1
起始矩阵 1
RGB
英国
BGR

起始矩阵2
......
系列颜色2
起始矩阵 1
XXX
XXX
XXX

……
//

该文件可能只有几行,也可能有数千行,因此我无法在应用程序中保存矩阵,但我需要始终读取该文件。

为了测试性能,我创建了一个解析器,它只需逐行搜索矩阵,但速度非常慢。

我想我应该保存每个矩阵的行号,然后使用 RandomAccessFile 来读取它,但我想知道是否有更强大的方法可以做到这一点。

谢谢

最佳答案

如果您确实要处理大量输入文件,超出了您将整个文件加载到 RAM 的能力,那么请使用持久键/值存储,例如 MapDB可能是一个简单的方法来做到这一点。解析文件一次并构建高效的[集合+颜色]->矩阵图。将其存储在持久 HTree 中。这将为您处理所有缓存等问题。确保为 Collection+Color 元组创建一个良好的哈希函数,它应该非常高效。

如果您的数据访问模式倾向于聚集在一起,那么存储在 B+Tree 索引中可能会更快 - 您可以尝试一下,看看哪种效果最好。

关于java - 提高解析文本文件的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013011/

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