小编Oka*_*ano的帖子

是否可以提高此代码的 python 性能?

我有一个简单的代码:

读取轨迹文件,该文件可以看作存储在 Y 中的二维数组列表(空间中的位置列表)

然后我想计算每对(scipy.pdist 样式)的 RMSD

我的代码工作正常:

trajectory = read("test.lammpstrj", index="::")
m = len(trajectory)
#.get_positions() return a 2d numpy array
Y = np.array([snapshot.get_positions() for snapshot in trajectory])

b = [np.sqrt(((((Y[i]- Y[j])**2))*3).mean()) for i in range(m) for j in range(i + 1, m)]
Run Code Online (Sandbox Code Playgroud)

此代码使用 python3.10 在 0.86 秒内执行,使用 Julia1.8 同类代码在 0.46 秒内执行

我计划拥有更大的轨迹(~ 200,000 个元素),是否可以使用 python 获得加速,还是应该坚持使用 Julia?

python numpy julia

1
推荐指数
1
解决办法
329
查看次数

标签 统计

julia ×1

numpy ×1

python ×1