1

我发现 gperf 适合我的项目,现在正在寻找一种优化生成表大小的方法。由于开关 -i 和 -j 确定性地影响表的长度,我编写了一个小脚本迭代这些值,找到最小的表长度。该脚本存储 -i 和 -j 值以在脚本终止时检索当前最小表以及当前尝试的值,以便稍后继续搜索。

现在我看到存在一个开关 -m,它表明它与我对我的小脚本所做的完全一样。我想使用这个开关比只调用 gperf 进行一次迭代要快得多。但是我需要知道两件事来替换 gperf 调用,我在 gperf 帮助中找不到:

  1. 如果我使用 -m 开关,如果 -i 和 -j 会尝试哪些值?
  2. 我怎么知道实际使用了 -i 和 -j 的哪些值,即哪些值导致当前 gperf 调用的最小找到表长度?
4

1 回答 1

0

如果我使用 -m 开关,如果 -i 和 -j 会尝试哪些值?

您可以在源代码第 1507..1515 行找到此信息。

我怎么知道实际使用了 -i 和 -j 的哪些值,即哪些值导致当前 gperf 调用的最小找到表长度?

你不需要知道。这些值只是描述 gperf 通过搜索空间的内部路径的起点。

于 2017-06-24T08:06:46.977 回答