Rust - a safe, concurrent, practical language

Firefoxの開発に携わっているNicholas Nethercote氏は6月3日(米国時間)、「Measuring data structure sizes: Firefox (C++) vs. Servo (Rust)|Nicholas Nethercote」において、C++による実装とRustによる実装を比較し、Rustによる実装が優れている点を説明した。具体的にC++とRustで記述方法がどう変わるかを指摘し、Rustによる実装がC++による実装よりも優れていると結論づけている。

Firefoxにはアドレスバーにabout:memoryと入力すると、Firefox内部のどの領域がどの程度メモリを消費しているのかを表示する機能がある。Nethercote氏はどのようにして容量の計算をしているのか、C++で実装されたそのテクニックを紹介した。

次に、Nethercote氏は、これと同じメモリ使用量の計測をServoと呼ばれる次世代ブラウザエンジンの実装プロジェクトで取り組んでいることに触れ、その違いを説明。ServoはRustで開発されているが、C++と同じテクニックで実装しようとしたところ、Rustのほうがこの課題をよりスマートに記述できることに気がついたと述べている。