
ノンブロッキングI/OとI/O多重化 - select/poll/epoll から io_uring までの歩き方
約47分
C10K問題を出発点に、select/pollの限界、epollが速い理由(赤黒木とレディリスト)、レベルトリガとエッジトリガの違い、kqueueやIOCPとの対比、io_uringのSQ/CQリングとセキュリティ上の扱い、libuv/nginx/Redisの実装までを一次情報と実測で整理します。

C10K問題を出発点に、select/pollの限界、epollが速い理由(赤黒木とレディリスト)、レベルトリガとエッジトリガの違い、kqueueやIOCPとの対比、io_uringのSQ/CQリングとセキュリティ上の扱い、libuv/nginx/Redisの実装までを一次情報と実測で整理します。

Rust 1.97.0 が2026年7月9日にリリースされました。シンボルマングリングが v0 スキームでデフォルト化され、Cargo の build.warnings 設定と resolver.lockfile-path 設定が安定化。整数のビット操作API(isolate_highest_one / bit_width など)や char::is_control の const 化、リンカメッセージの可視化なども入りました。Rust 公式ブログと RELEASES.md を一次ソースに、言語・標準ライブラリ・Cargo の変更を整理します。