vol.4 2018.10.14
お久しぶりです。
Amazon prime videoの見過ぎでやはり2週間ほど経ってしまいました😅
まぁこのままマイペースで書いていくことにします。
では行ってみましょう!!
Rust 1.29.2
LLVMのバージョンアップ後に最適化周りでバグが混入したようですが、まだ根本原因はわかっていないようです
libdiffuzz
Rust向けのメモリサニタイザで、unsafeを使っているコードで未初期化データをメモリ参照した場合を検出できるようです
lolbench
rustcのバージョンにフォーカスしてベンチマークを取得し、バージョン間でのパフォーマンスリグレッションを検出するためのツールです。現状はnightly向けにテストがされています
lolbenchの作者はsnapshot-rsというスナップショットテスト(Golden Master Testing)用のツールも作成していて、この辺りも勉強になりそうだなという感じでした✏️ Rust速習会2
@qnighyさんがRust速習会2を開催され資料も公開されていました 他の言語との比較も交えつつRustの概要やハマりどころを紹介されており勉強になりました
200枚超の力作💪で、これからRustを始める方もそうでない方も是非とも一度見てみるとよいのではないでしょうか👍
Rust Web Survey
Tower-web 0.3
こちらもWebまわりのネタですが、RustのWAFの一つTower Webのバージョン0.3がリリースされています。async/awaitまわりとテンプレートまわりのサポートです (Rustではどの領域でもそうかもしれないですが😂)WAFまわりも群雄割拠な感じですが、色々と動きがあって面白いですね。個人的にはactix-webあたりが少し抜け出している気もしますが、ベースとなるTokioもまだまだ開発途上ですし、これからもフレームワークが登場したり消えて行ったりしそうですね。 web app completely in Rust
もう一つWebまわりのネタです。クライアントサイドにyew、サーバサイドにactix-webを使った、オールRust製のWebアプリケーションを書くという記事です。 WebsocketでCap’n Protoのデータをやりとりしていたり、2本目の記事ではそれをCBORでRustの構造体をそのままパック/アンパックする形に変更していたり、なかなか面白いです。 CUDA Path Tracer written in Rust
私自身はほぼ知識無いので紹介だけにはなるのですが😅、Cで書いたCUDAのパストレーサをjaparic/cudaを使ってRustに移植しているようです 日本語でもQiitaで"Rust"、"CUDA"あたりのキーワードで検索すると、いくつか記事が見つかりますね
BPF with Rust
BPF/eBPFモジュールをRustで書けるredbpfクレートと、そのredbpfをベースにしたingraindというRustで書かれたモニタリングデーモンのようです pest 2.0
PEGベースのパーザライブラリpestのバージョン2.0がリリースされました。それに合わせて?サイトも新しくなったようです。
Rustでもう一つ有名なパーザライブラリとしてnomがありますが、nomの作者が反論記事というかベンチマーク結果をブログ記事として公開しています。まぁベンチマーク用のデータ等によって左右される部分はあると思うので、どちらが最速というのはなかなか難しいのかもしれません。 と思って調べてみると、PEGベースではないですがすでにRustのreSTパーザが存在していました。今度どんな感じか動かしてみようっと。 goodc
正規表現ベースのgoodcheckというlinterがあるのですが、便利なのでパフォーマンスアップや勉強をかねてRustで書き直してみました。 ripgrepのクレート群(いわゆるlibripgrep)を使って高速に動作します。オリジナルのgoodcheckがRuby製なのですが、約10倍くらいは高速に動作する感じです。よければ使ってみてください。 と言う感じでVol.4でした。
ネタ自体は捕捉しているのですが、まとめて記事にするというのはなかなかエネルギー⚡️が必要ですね、ということを改めて感じる今日この頃です。もう10月中旬に差し掛かっていて2018年もあっと言う間に終了ですねw
年末といえばRustアドベントカレンダーですので、アドベントカレンダーに向けてRust🦀を始めてみるのはどうでしょうか?😃
ではまた次回✋