Table of Contents Table of Contents
Previous Page  8 / 15 Next Page
Information
Show Menu
Previous Page 8 / 15 Next Page
Page Background

Д.В. Павлов, Д.С. Петров

8

Инженерный журнал: наука и инновации

# 8·2016

Рис. 3.

Фрагмент описания модели на основе словарей

Для обработки такой структуры данных использовался ориги-

нальный алгоритм, рекурсивно обходящий все вложенные словари,

вызывающий расчетные подпрограммы и выполняющий обмен

переменными, предусмотренный механизмом ОС. Такой подход

является наглядным, но обладает сравнительно низким быстродейст-

вием, поскольку предусматривает большое число операций поиска по

словарю и рекурсивных вызовов подпрограммы обхода структуры

модели, а для использования совместно с алгоритмами, реализован-

ными в библиотеке SciPy, требует преобразования ВС из многократно

вложенного словаря в линейный вектор типа

numpy.array

.

С помощью профилировщика cProfile, входящего в состав

стандартной библиотеки языка Python, был проведен анализ

быстродействия реализованной программы.

На рис. 4 видно, что большая часть вычислительных ресурсов

расходуется на перечисленные выше вспомогательные операции. Для

увеличения оперативности вычислений в рамках предлагаемой

работы разработан новый подход к организации вычислений и ПО на

его основе.