相关疑难解决方法(0)

如何分析在Linux上运行的C++代码?

我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?

c++ unix profiling

1732
推荐指数
12
解决办法
49万
查看次数

超越R的优化功能

我正在尝试使用R来估计具有手动规范的多项logit模型.我找到了一些允许您在此处此处估算MNL模型的软件包.

我发现在"滚动"自己MLE功能的一些其他著作在这里.然而,从我的挖掘 - 所有这些功能和包依赖于内部optim功能.

在我的基准测试中,optim是瓶颈.使用具有约16000个观测值和7个参数的模拟数据集,R在我的机器上花费大约90秒.Biogeme中的等效模型需要大约10秒钟.在Ox报告自己的代码的同事报告这个模型的时间约为4秒.

有没有人有编写自己的MLE功能的经验,或者可以指出我的方向优化超出默认optim功能(没有双关语)?

如果有人想要R代码重新创建模型,请告诉我 - 我会提供它.我没有提供它,因为它与优化optim功能和保留空间的问题没有直接关系......

编辑:感谢大家的想法.基于下面的无数评论,我们能够将R与Biogeme放在同一个球场,以获得更复杂的模型,对于我们运行的几个更小/更简单的模型,R实际上更快.我认为这个问题的长期解决方案是编写一个单独的最大化函数,它依赖于fortran或C库,但我肯定对其他方法持开放态度.

optimization r

22
推荐指数
3
解决办法
9490
查看次数

标签 统计

c++ ×1

optimization ×1

profiling ×1

r ×1

unix ×1