Rust

Rustにおける非同期ストリームの関数呼び出しコストを検証する

OTチームの大久保です。 エッジデバイス上でのデータ処理やネットワーク周りの実装に、速度と生産性の両面で優れるRust言語を利用できないかをここ最近は検討しています。特に、tokioのバージョン1.0がリリースされたように、最近はRustの非同期関連のエコシ…

Rust+Quinnで大量のデータを送信する

aptpod Advent Calendar 2020の4日目を担当します、研究開発グループの大久保です。 2日目では、RustとQuinnでechoサーバを作成しました。今回は応用として、Quinnを使って大量のデータを送信し、パフォーマンス評価をしてみたいと思います。弊社内のユース…

Rust+QuinnでQUICのechoサーバを作る

aptpod Advent Calendar 2020の2日目を担当します、研究開発グループの大久保です。 弊社では、新しいプロトコルであるQUICの利用法を調査しています。そこで今回は、RustのQUIC実装の1つであるQuinnを用いて、受け取ったリクエストをそのままクライアントへ…

Rustでバイナリを読み書きするのに必要なクレート3選

研究開発グループの大久保です。 当社の製品の中にはC/C++で書かれたものが存在し、その中には独自のバイナリフォーマットを取り扱うものが存在します。既存のコードとやり取りするようなRustのプロジェクトを起こすためには、その独自のバイナリフォーマッ…

RustでROS(RoboMaker)のノードを書いてみる

先端技術調査グループの大久保です。 弊社では現在、クラウド上でROSの開発が行えるAWS RoboMakerを利用しており、GazeboシミュレーションもRoboMakerを使って行っています。当ブログでも、RoboMakerを使ったシミュレーションを以前取り上げています。 tech.…

Rust+wasmでWebSocket上にバイナリデータ(CBOR)を流してみる

この記事はAptpod Advent Calendar 2019の10日目の記事です。 先端技術調査グループの大久保です。 前回の記事では、WebSocketのechoサーバにアクセスするwasmをRustとGoで作成しました。今回は、echoだけでは物足りないので、意味のあるバイナリデータをサ…

RustとGoでWebAssemblyのファイルサイズを比較する

この記事はAptpod Advent Calendar 2019の3日目の記事です。 先端技術調査グループの大久保です。 最近はWebAssemblyが注目されるようになり、弊社でもWebフロントエンド側での軽量化・高速化に応用できないか検討をしています。 そこで、今回はWebSocketのe…