いくつかの背景:
HMRパッケージの関数を多用する必要がありますHMR。残念ながら、この機能は非常に遅いです。(HMR本質的にはフィッティング関数であり、可能な限り堅牢になるように設計されています。これが効率性の欠如の理由の1つです。)関数は、実際のフィッティングを行う関数をHMR呼び出します。HMR::.HMR.fit1使用Rprof効率に関する主な問題は、の使用であることがわかっていますlsfit。これはよく呼ばれます。したがって、のコードを変更して、のオーバーヘッドなしで直接.HMR.fit1使用されるC関数を呼び出すようにしました。これにより、大幅な速度の向上が得られるはずです。lsfitlsfit
ここで、変更した関数に置き換えて、同じ結果が得られるかどうか、およびどれだけの速度が得られるかをHMR::.HMR.fit1テストしたいと思います。HMR
私はこれをやろうとしました:
mod.fun <- function(<many args>) {
<a lot of code>
}
environment(mod.fun) <- environment(.HMR.fit1)
.HMR.fit1 <- mod.fun
ただし、HMR::.HMR.fit1これを行っても変更されずHMR::HMR、変更されたフィッティング関数を使用していないようです。ソースからパッケージをビルドせずに目的を達成する方法はありますか?これは、(Windows)コンピューターのユーザー権限の制限のために実行できませんか?
今のところ、私の解決策はのコードをコピーするHMR::HMRことですが、もっと便利な解決策があることを願っています。