python - 访问对象属性/列表访问之间的速度差异?
问题描述
我正在通过“for”循环(在 10^3 循环的规模上)执行数值积分,我想让它尽可能快地运行。在每个时间循环中,几个物理对象(神经元)的属性用于计算导数。
在我的实现中,这些神经元是一个类的 python 实例。我使用类的唯一原因是将神经元的某些可变属性存储在它自己的实例中。
将这些属性存储在列表中会更快吗,这样每个神经元都与一个列表而不是一个类实例相关联?
for t in time_array:
for node in neuron_dict:
p_derivative = find_p_derivative(node,neuron_dict[node].p_initial, neuron_dict[node].q_initial, neuron_dict[node].n_initial)
q_derivative = find_q_derivative(node,neuron_dict[node].p_initial, neuron_dict[node].q_initial, neuron_dict[node].n_initial)
n_derivative = find_n_derivative(node,neuron_dict[node].p_initial, neuron_dict[node].q_initial, neuron_dict[node].n_initial)
neuron_dict[node].p = neuron_dict[node].p_initial + (t_step * p_derivative)
neuron_dict[node].q = neuron_dict[node].q_initial + (t_step * q_derivative)
neuron_dict[node].n = neuron_dict[node].n_initial + (t_step * n_derivative)
解决方案
推荐阅读
- python - 如何在 python 中找到我的 PCA 图中的数据点?
- mysql - 如何使用 mysql IN 语句获取多行
- mysql - 如何从表格中删除括号、引号?
- batch-file - 如何使用 cmd 从文本文件中插入密码?
- matlab - 重写脚本并将“内核”分布图拟合到直方图中
- apache-camel - Camel:是否可以在给定时间使用计时器组件来安排日常任务?
- angular - __importDefault 未定义 Ionic
- linux - tmux pin 以避免滚动
- c++ - 如何在linux ubuntu下链接犰狳给出链接错误
- python-2.7 - 如何在 Python 中从 .txt 连接?