Skip to content

E_Maksimova_lesson_06#1266

Open
HelenMaksimova wants to merge 1 commit intoDmitryChitalov:masterfrom
HelenMaksimova:E_Maksimova_lesson_06
Open

E_Maksimova_lesson_06#1266
HelenMaksimova wants to merge 1 commit intoDmitryChitalov:masterfrom
HelenMaksimova:E_Maksimova_lesson_06

Conversation

@HelenMaksimova
Copy link

Урок 6, Алгоритмы и структуры данных, старт 09.03.2021, Максимова Елена

# 15 18.9 MiB 0.0 MiB 7 return fib_number(num, num_1, num_2)
# 16 18.9 MiB 0.0 MiB 1 return fib_number(number)

# Замеры показывают, что в плане расхода памяти данная функция в оптимизации не нуждается.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

# Для анализа взята функция из 3 задания к первому уроку. Для показательности результатов ищем не 3 фирмы,
# а 1000 фирм из 10000. Очень простой рефакторинг - вместо списка возвращаем генератор, ведь скорее всего, всё,
# что мы будем делать с результатом, это итерироваться по нему. Выигрыш по памяти очевиден. Кроме того,
# и скорость выполнения стала немного ниже.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

# Скорость выполнения операций снизилась несущественно, но всё же и здесь имеется небольщой прогресс.
# Для оптимизации по памяти была использована директива __slots__. Метод класса __str__ был переписан с использованием
# генератора и функции map, а метод __add__ - c использованием спискового включения.
# Теперь код стал меньше по объёму, методы класса работают чуть быстрее, а экземпляры класса занимают меньше памяти.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

# благодаря классу Counter из модуля collections.
# Разница по скорости выполнения незначительна, но всё же и по этому параметру оптимизированный
# скрипт даёт лучшие показатели.
# (А ещё скрипт стал гораздо короче...)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants