現在のgperfリリースには、次のような制限があります。
gperfは速く実行されるように調整されており、小規模から中規模のデータ集合(約1000キーワード)を高速に処理します。コンパイラのキーワード集合の完全ハッシュ関数を保守するのに、非常に役立ちます。バージョン3.0以降、gperfは、はるかに大きなキーワード集合(15000キーワードを超えるもの)も効率よく処理します。
- 入力キーワードファイルが大きい場合や、キーワード同士がよく似ている場合、生成する静的キーワード配列のサイズが極端に大きくなることがあります。その結果、生成したCコードのコンパイルが遅くなり、オブジェクトコードのサイズも大幅に増える傾向があります。この場合、データサイズを減らすために‘-S’オプションを使うことを検討してください。キーワードの認識時間は増える可能性がありますが、その増加はごく小さい場合があります。多くのCコンパイラは大きなswitch文のコードを正しく生成できないため、生成するswitch文の数を制御する適切な数値引数を-Sオプションに付けることが重要です。
- 選択するバイト位置の最大数には、255という任意の制限があります。この制限は取り除くべきです。これを問題だと考える方は、制限を取り除けるよう、筆者に知らせてください。