Перед каждым, кто занимается численными научными расчетами рано или поздно встает вопрос о производительности различных языков программирования. В серии заметок сравним производительность вычислений в среде MatLab и библиотеки Python NumPy.
Для тестирования производительности поэлементного умножения массивов будем использовать следующую методику:
- Генерация двух случайных массивов 1000x1000 элементов (1 млн.)
- Поэлементное умножения двух получившихся массивов
- Повторяем пункты 1 и 2 1000 раз
- Вычисляем среднее значение
Код, используемый для замера производительности представлен в конце заметки.
Умножение массивов MatLab
Рис. 1 — Время вычисления умножения
Рис. 2 — Время генерации 2-х массивов по 1млн. элементов
По результатам теста получены следующие результаты:
Средне время генерации: 0.0217 сСредне время вычисления: 0.0331 с
Умножение массивов Python (NumPy)
Рис. 3 — Время вычисления умножения
Рис. 4 — Время генерации 2-х массивов по 1млн. элементов
По результатам теста получены следующие результаты:
Среднее время генерации:0.0219 с
Среднее время вычисления:0.0282 с
Заключение
В данной задаче Python не имеет значительных преимуществ в скорости вычисления перед MatLab.
Комментариев нет :
Отправить комментарий