-
Notifications
You must be signed in to change notification settings - Fork 182
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
base: master
Are you sure you want to change the base?
E_Maksimova_lesson_06 #1266
Conversation
# 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) | ||
|
||
# Замеры показывают, что в плане расхода памяти данная функция в оптимизации не нуждается. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
выполнено
# Для анализа взята функция из 3 задания к первому уроку. Для показательности результатов ищем не 3 фирмы, | ||
# а 1000 фирм из 10000. Очень простой рефакторинг - вместо списка возвращаем генератор, ведь скорее всего, всё, | ||
# что мы будем делать с результатом, это итерироваться по нему. Выигрыш по памяти очевиден. Кроме того, | ||
# и скорость выполнения стала немного ниже. |
There was a problem hiding this comment.
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 использованием спискового включения. | ||
# Теперь код стал меньше по объёму, методы класса работают чуть быстрее, а экземпляры класса занимают меньше памяти. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
выполнено
# благодаря классу Counter из модуля collections. | ||
# Разница по скорости выполнения незначительна, но всё же и по этому параметру оптимизированный | ||
# скрипт даёт лучшие показатели. | ||
# (А ещё скрипт стал гораздо короче...) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
выполнено
Урок 6, Алгоритмы и структуры данных, старт 09.03.2021, Максимова Елена