1

gperf が自分のプロジェクトに適していることがわかり、現在、生成されたテーブルのサイズを最適化する方法を探しています。スイッチ -i と -j は決定論的にテーブルの長さに影響を与えるため、これらの値を反復処理して最小のテーブル長を見つける小さなスクリプトを作成しました。スクリプトは、現在の最小テーブルを取得するための -i 値と -j 値、およびスクリプトの終了時に現在試行されている値を保存するため、後で検索を続行できます。

これで、スイッチ -m が存在することがわかりました。これは、私の小さなスクリプトで行うこととまったく同じことを行うことを示しています。このスイッチを使用すると、単一の反復のみで gperf を呼び出すよりもはるかに高速になると思います。しかし、gperf ヘルプで見つけることができなかった gperf 呼び出しを置き換えるために、2 つのことを知る必要があります。

  1. -m スイッチを使用した場合に -i と -j が試される場合、どの値が試されますか?
  2. -i と -j のどの値が実際に使用されているか、つまり、現在の gperf 呼び出しで検出されたテーブルの長さの最小値につながる値を知るにはどうすればよいですか?
4

1 に答える 1