【Appendix】パフォーマンスの最適化
プロトコルのパース性能を向上させるために、以下のような手法が存在するが、型安全性や可読性とのトレードオフを考慮する必要がある。
型安全性や可読性を犠牲にすることで、プロトコルのパース性能を向上できる場合があります。
本項でターゲットとしているパフォーマンス低下要因:
- フィールド数が多いプロトコル(特にメッセージ型フィールドが多い場合)
- 深くネストされたメッセージ
高速化手法
トリムされたプロトコルの作成
必要とするフィールドのみを含む軽量なプロトコルを作成し、パース時に使用する。
遅延パース
[lazy=true]アノテーションを使用して、必要な場合にのみフィールドをパースする。
バイト列として宣言
フィールドをバイト列として宣言し、クライアント側で必要に応じて手動でパースする。(PII/プライバシーリスクを考慮し、ログに書き込まれるプロトコルでは使用すべきではない。)
補足
パース性能の向上は、特にモバイルデバイスや高負荷環境において重要です。
パフォーマンス向上のための最適化は、トレードオフを考慮し、慎重に選択する必要があります。