Уведомления

Группа в Telegram: @pythonsu

#1 Май 29, 2012 22:42:47

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

почему такая маленькая скорость выполнения цикла со словарём?

кусок взял отсюда http://habrahabr.ru/post/144614/

def trydict():
    freqs = {}
    for c in "abracadabra":
        try:
            freqs[c] += 1
        except:
            freqs[c] = 1
#
#
#
if __name__ == '__main__':
    from timeit import Timer
    t = Timer("trydict()", "from __main__ import trydict")
    print t.timeit()

У меня этот цикл выполняется 10 секунд с лишним. Почему так долго?( Достаточно общего смысла)

Отредактировано buddha (Май 29, 2012 22:44:24)

Офлайн

#2 Май 29, 2012 23:36:34

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

почему такая маленькая скорость выполнения цикла со словарём?

Потому что не надо бездумно использовать незнакомые модули. Почитайте про timeit.Timer.



Офлайн

#3 Май 29, 2012 23:49:51

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

почему такая маленькая скорость выполнения цикла со словарём?

fata1ex
Потому что не надо бездумно использовать незнакомые модули. Почитайте про timeit.Timer.
Уточните, пжлст, это вы про кого имеете ввиду?

попробовал просто запустить функцию с выводом словаря
def trydict():
    ...
    print freqs
if __name__ == '__main__':
    trydict()
Всё моментально отработало. Видать кто-то на хабре погорячился с использованием timeit

Отредактировано buddha (Май 29, 2012 23:53:29)

Офлайн

#4 Май 29, 2012 23:58:36

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

почему такая маленькая скорость выполнения цикла со словарём?

Я имел в виду вас. Привыкайте смотреть по сторонам и слушать, что говорят вам окружающие. Прочитайте внимательно, что именно вы взяли из того поста на хабре и что хотел автор кода донести до читателей.



Офлайн

#5 Май 30, 2012 00:12:24

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

почему такая маленькая скорость выполнения цикла со словарём?

спасибо, КЭП)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version