🎉 Обновление!
Ускорил прогу в 4 раза 🚀
В последнее время обратил внимание, что моя программа, основанная на Tinkoff open API, стала работать очень медленно.
Мои 20+ позиций и 400+ операций высчитывались более 10 минут. Да ещё и появились ошибки по превышению лимита обращений к ЦБ. Тестировать нововведения при такой скорости формирования Excel таблицы совсем не айс.
Я предположил, что проблема отчасти может быть связана с излишними обращениями к ЦБ за курсом валют для каждой операции, позиции и т.д.
В итоге, пришлось поменять алгоритм работы программы таким образом, что сначала находится инвестиционный период, и для каждой даты сразу парсятся все курсы валют с api ЦБ и записываются в сложный словарь (массив). В моём случае, на это уходит почти 2 минуты. Все остальные функции обращаются уже к этому массиву и ЦБ больше тревожат. На эту работу уходит всего около 30 секунд.
В итоге, вместо 10+ минут, вся работа программы у меня стала занимать всего 2 с половиной минуты. Таким образом, время сократилось примерно в 4 раза.
Считаю это успехом, не жалею потраченных часов.
Новая версия загружена на GitHub.
#tinkproject
#openapi