gpt4 book ai didi

java - 如何以最有效的方式在大量文件中搜索某个搜索词?

转载 作者:行者123 更新时间:2023-11-30 05:46:37 26 4
gpt4 key购买 nike

禁止使用 Lucene。我有一台 8 核和 20 GB RAM 的计算机。我有 100 万个 NFS 文件。我必须搜索一个搜索词“Hello World”。我的问题是:

最有效的方法是什么?

要生成多少个线程?

如果我有多台计算机可供使用,答案会发生什么变化?我将用java来做这个。假设我使用 ThreadPoolExecutor 。它的 corePoolSize 应该是多少?最大池大小?我要提交Callable任务将读取文件并使用正则表达式搜索所需的搜索词。

最佳答案

引用 Venkat Subramaniam 所著的《JVM 上的编程并发》一书,关于如何计算线程池的最佳大小:

Number of threads = Number of Available Cores / (1 - Blocking Coefficient)

where the blocking coefficient is between 0 and 1.

阻塞系数是单个线程被阻塞的时间百分比,即等待磁盘 I/O 等操作。因此,如果该百分比为 30,那么您的阻塞系数将为0.3

关于java - 如何以最有效的方式在大量文件中搜索某个搜索词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54721198/

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