RUST言語 入門日記 (3) 【ISUCON用計測ミドルウェア編】

Rustについて、勉強した内容を少しでもアウトプットしたいため、ISUCON用計測ミドルウェアactix-web-isucon-measured を作成しました。

使い方についてはgithubのサンプルを参照してください。
https://github.com/sengine-xyz/actix-web-isucon-measured

早速ISUCON11予選問題で確認します。

ISUCON11予選のRUST実装にそのまま適応するとコンパイルエラーになるため、少し修正が必要です。

修正 1 Cargo.toml

actixのbetaが使われているため、図のようにbetaを消し安定版を使います。

修正 2 main.rs

図のように2か所を修正すると、コンパイルが通ります。

ミドルウェア適応

基本サンプル通りに使えば問題ありません。

ベンチして結果確認。

/measured_tsvへアクセスします。

エクセルにコピペするとわかりやすいかと思います。

最後に

ISUCONを簡単に練習できるよう、過去問をgithubに公開し、便利ツール作ってくれた方々に感謝します。

ディフォルトでtsvを出力する実装があるが、計測データが直アクセスできるため、サービス登録する時JSONなど他のフォーマットも実装出来ます。

ISUCON12もactix-webフレームワークだと使いたいと思います。

そして誰かの役に立つと幸いです。