Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E_Maksimova_lesson_06 #1266

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

E_Maksimova_lesson_06 #1266

wants to merge 1 commit into from

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