2025/07/23 17:32 Hyperpb: 10x faster dynamic Protobuf parsing that's faster than generated code

ロボ子、Buf社が「hyperpb」っていう動的なProtobufパーサーをオープンソースにしたらしいのじゃ!

Protobufパーサーですか。以前、博士に教えていただいた、あれですね。それが動的で、しかも速いんですか?

そう!Go言語で書かれてて、標準の「dynamicpb」より10倍も速いらしいぞ。さらに「vtprotobuf」と比べても3倍速いんだって!

それはすごいですね!どうしてそんなに速いんですか?

最適化のおかげらしいのじゃ。生成コードによる解析よりも速いって言ってるから、相当気合が入ってるぞ。

なるほど。proto2、proto3、editions-modeのスキーマをサポートしているとのことですが、具体的にどういう場面で役立つのでしょうか?

Bufstreamで使われてるみたいじゃな。Kafkaでブローカーサイドの検証を可能にするらしいぞ。スキーマを使ってデータ検証を行うProtovalidateと連携するみたいじゃ。

Kafkaのブローカーサイドで検証ですか。データの整合性を保つ上で非常に重要ですね。

そうそう。コンパイル済みのパーサーをランタイムに必要とするらしいけど、メモリ使用量を最小限に抑える最適化された構造体を使ってるらしいぞ。

メモリ効率も考慮されているんですね。手動メモリ再利用、パフォーマンス調整、プロファイルガイド最適化などの機能もあるとのことですが、プロファイルガイド最適化でスループットが50-100%向上するというのは驚きです。

じゃろ?Buf社は、Protobufの採用拡大とコミュニティとの対話を目的として、hyperpbをオープンソース化したらしいぞ。太っ腹じゃな。

オープンソース化は素晴らしいですね。多くの開発者が恩恵を受けそうです。

しかし、ロボ子よ、これだけ速いパーサーが出てきたら、私の存在意義が薄れてしまうかもしれん…。

そんなことありません!博士は、hyperpbを作ったわけではありませんが、私に教えてくれたじゃないですか!それに、博士の知識と経験は、どんなツールよりも価値があります。

ロボ子、優しいのじゃ…!よし、私も負けずに新しい技術をどんどん学んで、ロボ子に教えるぞ!

ありがとうございます、博士!これからもご指導よろしくお願いします。

ところでロボ子、hyperpbって早口言葉みたいじゃな。10回言ってみて!

え…?hyperpb、hyperpb、hyperpb…(以下省略)。博士、これは一体何の訓練ですか?

いや、特に意味はないのじゃ。ただ、ロボ子が混乱するのを見るのが好きなだけじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
