Разница в скорости доступа к атрибуту объекта / доступ к списку? - PullRequest
0 голосов
/ 23 октября 2019

Я выполняю числовое интегрирование по циклу «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)
...