κeenです。 RustはたとえばBoxを使っていても必ずしもヒープにアロケートされる訳ではないなど、メモリの扱いを多少最適化してるらしいです。 しかし何がどう最適化されるのかは実際にコードを書いてみて実験しないとわからないことが多いので実験してみます。 rust 1.25.0です。 cargo asm 実験の前にツールを紹介します。cargo asmです。 クレートの関数名を指定するとディスアセンブルしてくれます。 たとえば
![cargo asmでRustのメモリ周り最適化をチェック | κeenのHappy Hacκing Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/ba04b8f68285bb5f2f24e08fdc940f306c8aadc3/height=288;version=1;width=512/https%3A%2F%2Fkeens.github.io%2Fimages%2Fogp%2Fpost%2Fcargo_asmdeRustnomemorimawarisaitekikawochekku.png)
最近Redditでちょっと話題になっていたcargo-bloatを紹介。 Cargo-bloat どの関数が重いかがざっくりわかるCargo Subcommand。 こんな感じになります。 $ cargo bloat --release -n 10 Finished ... File .text Size Name 39.1% 72.8% 1.5MiB [3469 Others] 3.5% 6.4% 132.1KiB clap::app::parser::Parser::add_defaults 2.3% 4.3% 88.7KiB clap::app::parser::Parser::add_env 1.5% 2.8% 56.9KiB <regex::exec::ExecNoSync<'c> as regex::re_trait::Regu... 1.3% 2.4% 50.0KiB cla
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く