提高预处理大量文档的性能

我正在开发一个与使用Java的抄袭检测框架相关的项目。 我的文档集包含大约100个文档,我必须对它们进行预处理并存储在合适的数据结构中。 我有一个很大的问题,即如何有效地处理大量文档并避免瓶颈。 我的问题主要集中在如何提高预处理性能上。

谢谢

关心Nuwan

你在那里的细节有点缺乏。 适当的优化将取决于文档格式,平均文档大小,处理方式以及数据结构中存储的信息类型。 不知道其中任何一个,一些一般的优化是:

  1. 假设给定文档的预处理独立于任何其他文档的预处理,并假设您运行的是多核CPU,那么您的工作负载是multithreading的理想选择。 为每个CPU核心分配一个线程,并将作业分配给您的线程。 然后,您可以并行处理多个文档。

  2. 更一般地说,尽可能多地记忆。 尽量避免读取/写入磁盘。 如果必须写入磁盘,请尝试等待,直到获得要写入的所有数据,然后将其全部写入一个批处理中。

你提供的信息非常少,无法提出任何好的建议。

我的默认设置是使用具有线程池的执行程序处理它们,线程池的线程数与机器中每个线程处理文档的内核数相同。