Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

遅いDBインサートにうんざりしたので、GoでゼロシステムコールIPCを書いた(1800万TPS)

高スループットのデータベース挿入に課題を感じた開発者が、Go言語でゼロシステムコールのプロセス間通信(IPC)機構「hft-ipc」を開発。1秒間に1800万トランザクション(TPS)を達成し、従来のDB挿入のボトルネックを解消。システムコールを排除することでレイテンシを大幅に削減し、高速なデータ転送を実現している。

背景メモ

- この記事は、Go言語で書かれた高速なプロセス間通信(IPC)ライブラリ「hft-ipc」の紹介。作者が「DBインサートが遅すぎる」と不満を抱き、自作したもの。 - 最大の特徴:**ゼロシステムコール(zero-syscall)**。通常のIPC(ソケットやパイプなど)はOSのカーネルを経由するたびにオーバーヘッドが発生するが、このライブラリはそれを回避し、理論上毎秒1800万トランザクション(18M TPS)を達成。 - 対象読者は高頻度取引(HFT)やデータベースへの超低レイテンシ書き込みが必要な開発者。Go製だが、CGOを使わずにここまでの速度を出している点が技術的に注目される。 - 背景:HFT業界では伝統的にC/C++やFPGAによるナノ秒単位の最適化が常識。Goのガベージコレクション(GC)はHFTには不向きとされてきたが、このプロジェクトはGoでもここまで行けるという挑戦状とも言える。 - リポジトリ名の「hft-ipc」は「High-Frequency Trading IPC」の略。MITライセンスで公開されている。

関連記事