Rust の Web Framework、 actix_webTechEmpower のベンチマークでは、すごいパフォーマンスを示しています。

しかし、業務で使おうと思ったときに、本当のところどうなの?というのは気になるところです。
特に私の所属するアドテク界隈では、ミリ秒単位のパフォーマンス・チューニングが求められます。
実際、当初actix_webで要求レイテンシを満たせませんでした。
しかし、同僚の非常に有用なアドバイスにより打開することができたため、ブログにて公開しようと思った次第です。

パフォーマンスの測定及びチューニングは、下記のケースで行いました。

  • 固定文字列を返すだけ
  • 100msスリープしてから固定文字列を返す
  • 外部サーバにgRPC通信し結果を返す

※ 実は上記以外のケースでもベンチマークを取っております。結果とソースコードはGithubにて公開しました。
https://github.com/x1-/actix_web_benchmark
結果だけ知りたい方はこちらをご覧になられた方が良いかもしれません。

[続きをもっと見る…]

GCPに限らず、Cloud のマネージド・サービスを使おうと思うと、そのクライアント・ライブラリが提供されているか言語を選択することが重要になってきます。
もちろん、クライアント・ライブラリが提供されていなくても、接続仕様が公開されていれば自力実装しても良いです。
が、普通に考えればサービスを提供するベンダーが提供しているものの方が信頼度が高そうなのは言うまでもありません。

Google の CloudサービスであるGCPのマネージド・サービスのクライアントですと、Go, Java, JavaScript(Node.js), Python, Ruby においてはクライアント・ライブラリが提供されています。
また、APIs のクライアント・ライブラリでは、上記にプラスして .NET, PHP, Objective-C, Dart などが提供されています。

想像通りですが、Rustなんて影も形もありません。
そこで敢えてRustでGCPマネージド・サービスに挑もうとするとすると茨の道に見えたのですが、やってみたら意外とあっさりできてしまったのでこのブログに書くことにしました。

[続きをもっと見る…]

こんにちは。バツイチです。
久しぶりにブログを書きました(笑)

私、会社でやっているロボットゼミというものに参加しておりまして。
そこでマイクロマウスというものの存在を知りました。

マイクロマウスというのは、小型の自律走行ロボットです。
マイクロマウス大会では、このロボットで3m×3m、256区画の迷路を走り抜ける速さを競う競技です。

迷路
公益財団法人ニューテクノロジー振興財団事務局 | 全日本マイクロマウス大会ヒストリーより

頭脳で速さを競うところがささりました。

私自身はプログラム経験は長いものの、メカに関しては一切知識がないド素人です。
※ ミニ四駆すら組み立てたことがありません。。。(女性なので。。。)
せいぜい自作のPCとかLANケーブルつくるくらいです。

まずは道具を揃えるところから。。。乞うご期待☆彡