首页 > 解决方案 > 访问对象属性/列表访问之间的速度差异?

问题描述

我正在通过“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)

标签: pythonperformanceprocessing-efficiency

解决方案


推荐阅读