使用gperf查找最小的完美哈希函数

时间:2014-11-02 21:01:19

标签: optimization perfect-hash gperf

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

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

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

1 个答案:

答案 0 :(得分:0)

  

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

您可以在source code第1507..1515行找到此信息。

  

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

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