Comments 15
Стоит упомянуть, что для численных массивов лучше использовать numpy.
+2
Добавьте, пожалуйста, в howlong вызов функции хотя бы пару десятков раз, а то разница в несколько десятых секунды вполне может быть погрешностью измерения.
+7
Уважаемый автор, для профилирования в Python есть замечательные библиотеки cProfile и profile. Измерение времени выполнения чего-либо светрую начинать именно с них. docs.python.org/2/library/profile.html
+7
Рекомендую в книжке «Идеальный код», Глава 18. «Реализация словарей Python: стремление быть всем во всем полезным».
Со словарями в Python не все просто. Они имеют различные реализации, могут переиспользоваться и могут налету переключать функцию сравнения ключей.
Со словарями в Python не все просто. Они имеют различные реализации, могут переиспользоваться и могут налету переключать функцию сравнения ключей.
+1
удивительно что цикл медленее аж на 20%. там под капотом настолько большая разница?
0
Может не совсем в тему, но это:
вполне можно заменить декоратором functools.wraps:
tmp.__name__ = f.__name__
tmp.__doc__ = f.__doc__
вполне можно заменить декоратором functools.wraps:
def howlong(f):
@functools.wraps(f)
def tmp(*args, **kwargs):
+2
Боюсь огорчить, но тесты не показательны: пространства имен в питоне — это те же словари; области видимости определяются вложенностью. Таким образом, в вашем случае, скорость доступа определяется вложенностью и размером словаря модуля. Как только размер словаря модуля изменится, вполне можете ожидать других результатов.
На PyCon2013, если правильно помню, было занятие, посвященное пространствам имён. Посмотрите видео, возможно, убдет полезно.
На PyCon2013, если правильно помню, было занятие, посвященное пространствам имён. Посмотрите видео, возможно, убдет полезно.
+1
Ребят, понимаю что оффтопик, начал учить Питон 3.3 для научных целей (анализ соц. сетей и обработка естественного языка).
Подскажите основные ресурсы по Питону на русском, именно форумы чтобы спрашивать, набрал в гугле «python русское сообщество» и ВСЕ первые ссылки это заброшенные форумы, последнее сообщение в которых хорошо если несколько месяцев назад. Самый актуальный это пока vingrad — но и на нем не так чтоб много народу.
Английский знаю и пользуюсь преимущественно pyvideo.org www.codecademy.com/ru/tracks/python и stackoverflow.
Подскажите основные ресурсы по Питону на русском, именно форумы чтобы спрашивать, набрал в гугле «python русское сообщество» и ВСЕ первые ссылки это заброшенные форумы, последнее сообщение в которых хорошо если несколько месяцев назад. Самый актуальный это пока vingrad — но и на нем не так чтоб много народу.
Английский знаю и пользуюсь преимущественно pyvideo.org www.codecademy.com/ru/tracks/python и stackoverflow.
0
Еще один тест, будет занимать 3 место (110-120%)
@howlong
def process_list_without_dots():
"""Суперфункция с заменой вызова метода объекта на локальную переменную"""
local_plus_value = GLOBAL_VALUE
new_lst = []
append = new_lst.append
for i in lst:
append(i**2)
for v in new_lst:
v + local_plus_value
0
Sign up to leave a comment.
Тестирование производительности Python 2.7 при обработке списков различными способами