我正在开发一个与使用Java的抄袭检测框架相关的项目。我的文档集包含大约100个文档,我必须对它们进行预处理并存储在合适的数据结构中。我有一个很大的问题,即如何有效地处理大量文档并避免瓶颈。我的问题主要集中在如何提高预处理性能。
由于
此致 Nuwan
答案 0 :(得分:0)
你在那里的细节有点缺乏。适当的优化将取决于文档格式,平均文档大小,处理方式以及数据结构中存储的信息类型。不知道其中任何一个,一些一般的优化是:
假设给定文档的预处理独立于任何其他文档的预处理,并假设您正在运行多核CPU,那么您的工作负载是多线程的良好候选者。为每个CPU核心分配一个线程,并将作业分配给您的线程。然后,您可以并行处理多个文档。
更一般地说,尽可能多地记忆。尽量避免读取/写入磁盘。如果必须写入磁盘,请尝试等待,直到获得要写入的所有数据,然后将其全部写入一个批处理中。
答案 1 :(得分:-1)
您提供的信息很少,无法提出任何好的建议。
我的默认设置是使用带有线程池的执行程序处理它们,线程池的线程数与机器中每个线程处理文档的内核数相同。