FlatBuffers
https://google.github.io/flatbuffers/
googleが開発したメッセージシリアライザ
ProtocolBuffersの姉妹
ProtocolBuffers がネットワーク通信用なのに対して FlatBuffers はプロセス間通信など、より速度が要求される用途に利用される
Cのstructをいろいろなプラットフォームで型セーフで読み出せるようにしたようなもの
FlatBuffers の他に Cap'n Proro, FIDL なども検討されていた。
DenoのTypeScriptフロントエンドとRustバックエンドのRPCメッセージとして使われていた
後に FlatBuffers のシリアライズが op_read / op_write のボトルネックになっていることが判明し、op_read / op_write の2つの Op については、FlatBuffers ではなく、より原始的な独自のシリアライズ形式 (ソースコード内では minimal 形式と呼ばれている) に置き換えられた。
また op_read / op_write 以外の Op については FlatBuffers のようなシリアライズ形式は不要という判断になり、JSON でシリアライズする形式に置き換えられた。
結果的に FlatBuffers でのシリアライズを使っていた箇所は無くなり、現在は Deno のコードベース内では FlatBuffers は使われていない。
#deno_internals
#deno_history