【发布时间】:2011-10-20 07:41:40
【问题描述】:
我正在做一些粒子粒子的Monte-Carlo simulation。我的代码中有几个瓶颈,但主要的一个是在我进行的一些尝试中,我需要更新 all 粒子属性。代码是用 c++ 编写的,目前我有几个循环来实现:
1.循环存储所有粒子的旧属性并更新新属性。
2. 二维交互循环。
3. 另一个 2D 交互循环(我无法将它与第一个循环结合)。
4.一个循环来存储接受步骤/一个循环来拒绝步骤。
我希望使用交换删除第 4 步,但我找不到这样做的方法。所有粒子都是一个类,它有几个名为properties 和nextProperties 或oldProperties 的元素。您将如何处理?
【问题讨论】:
-
如果没有看到一些代码,这很难回答。能举出一个简单的例子来说明你的问题吗?
-
您可以尝试对特定部分进行计时,并查看您的瓶颈到底在哪里。一旦你发现了,发布慢代码将帮助 SO 的优秀人员帮助你找到解决方案。
标签: c++ algorithm scientific-computing