タグ

2020年12月9日のブックマーク (1件)

  • 自作Binary Translation型RISC-VエミュレータのTCG最適化解析 - FPGA開発日記

    前回の続き。自作Binary Translation型RISC-Vエミュレータの最適化作業、いくつか改善を取り入れたのでflamegraphを用いて最適化の結果を解析する。現状の実装でflamegraphを適用した結果が以下となった。 これをよく見てみると、clone()が多く出てきていることが分かる。これはもしかしてCloneトレイトにより大量にオブジェクトのコピーが発生してしまっているということか?確かに、TCGの生成においてはかなり大量にCopyやらCloneを使ってしまっている。これを削減する必要があるということだろうか。 試しに、これまですべてのインスタンスをCopyで繋げていたものを、ポインタで繋げ直すとどのようになるのだろう?Rustでポインタを扱うのが非常に面倒なので、Rc<RefCell<>>を使って一気に書き直してみることにした。 例えば、今までこのように実装していたも

    自作Binary Translation型RISC-VエミュレータのTCG最適化解析 - FPGA開発日記