Thrift

Apache Thrift を自作ソフトの通信に使おうかと思って調査。

  • 非同期のサポートがない。(THRIFT-1というプロトタイプがどこかにあるらしいが、リリースにはない。)
  • メモリバッファの扱いが適当で、通信のたびに細かく生成しまくる実装になっている。GCへの負荷が高い。
  • Nagleアルゴリズムに対するケアは、常にNoDelayで送信しているだけ。
    • ストリームをバッファリングする長いメッセージと短いメッセージが混在する通信には適さない。
  • Cross-platformのためか、ジェネレータ方式の割にシリアライズロジックが最適ではない。

Thriftコンパイラの結果だけを流用できる自作フレームワークを作った方が良いかもしれん。