最速を目指さないなら、なんのためのRustなのか! メモリの安全性?信頼できる並列性?そんなものは飾り、最速あっての、Rust愛です。 サーバソフトウェアの実装を容易にする非同期処理(async/await)機能も充実してきて、「RustでHTTPサーバを書いてみよう」というような情報をたくさん見かけます。しかし、最速という観点が欠け、Rust愛が足りていないようです。 Webフレームワークなど、数多くのOSSソフトウェアに利用されている、最も人気の非同期ランタイムのTokioを試してみました。 Tokioを利用したサーバアーキテクチャTokioの公式ガイドなどを見て、同じようなコードで、HTTPサーバのような、TCPプロトコルで多数のクライアントからのリクエストを処理するようなサーバソフトウェアを実装すると、下記の図ようなアーキテクチャでリクエストが処理されます。 Tokioを使った標準