我有一个设计如下的功能:
int brutesearch(startNumber,endNumber);
如果通过执行线性搜索与我的条件匹配,则此函数返回正确的数字,如果在搜索的数字中未找到,则返回 null。
比如说:
- 我想搜索所有 6 位数字以找到一个做我想做的事情的数字
- 我可以多线程运行 brutesearch() 函数
- 我有一台 4 核的笔记本电脑
我的问题如下:
优化此搜索的最佳选择是什么?将数字空间划分为 4 个段并在每个内核上运行 4 个函数 1 实例?或者例如划分为 10 个段并一起运行,或者划分为 12 个段并使用队列以 4 个为一组运行它们?
有任何想法吗?