Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Способы/методы ускорения питона


Автор: slair 24.9.2009, 23:54
Кто что знает? Обсудим?

Автор: shupg 25.9.2009, 12:26
Знаю, что не стоит удалять первый элемент из списка.
Типа
Код

a = range(25)
for i in range(25):
    a.remove(a[0])

Отрабатывает за n-квадрат эта штука.

Автор: Ch0bits 25.9.2009, 15:55
Цитата(shupg @  25.9.2009,  12:26 Найти цитируемый пост)
for i in range(25):

В Python 2.x использовать в циклах xrange.

Автор: Fatkh 25.9.2009, 16:13
Цитата(Ch0bits @  25.9.2009,  13:55 Найти цитируемый пост)
for i in range(25):

В Python 2.x использовать в циклах xrange. 


Лучше избегать циклов. Чем их меньше, тем лучше. Встроенные функции куда быстрее.

Автор: pythonwin 28.9.2009, 08:22
Цитата(Fatkh @  25.9.2009,  19:13 Найти цитируемый пост)
Лучше избегать циклов. Чем их меньше, тем лучше. Встроенные функции куда быстрее. 

ты про какие встроенные функции? ...если про функции map, filter, zip, то часто они забатают медленее чем цикл с xrange, хотя статистика выведена империческим путем.

Автор: Fatkh 28.9.2009, 15:21
Цитата(pythonwin @  28.9.2009,  06:22 Найти цитируемый пост)
ты про какие встроенные функции? ...если про функции map, filter, zip, то часто они забатают медленее чем цикл с xrange, хотя статистика выведена империческим путем. 

А можно пример? Не знаю случаев, когда они работают медленнее. Самопальные тесты это подтверждали. И первый раз встречаю мнение, что циклы могут быть быстрее.

Автор: pythonwin 30.9.2009, 10:09
http://ru.wikipedia.org/wiki/Python
http://ru.wikipedia.org/wiki/Python#.D0.9F.D1.80.D0.BE.D1.84.D0.B8.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.BE.D0.BF.D1.82.D0.B8.D0.BC.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F_.D0.BA.D0.BE.D0.B4.D0.B0

PS считаю что лучше поискать результаты более "чистых" тестов, чем самопальные ;)


Автор: Fatkh 30.9.2009, 15:04
Цитата(pythonwin @  30.9.2009,  08:09 Найти цитируемый пост)
http://ru.wikipedia.org/wiki/Python
Профилирование и оптимизация кода

PS считаю что лучше поискать результаты более "чистых" тестов, чем самопальные ;

И что? Там по этому поводу ничего не написано. Или ткните пальцем. Насчет самопальности - поискал и нашел тесты и советы в книге Лутца "Learning Python". Он пришел к тому же выводу - быстрее использовать map, reduce и filter, чем циклы. (А еще очень быстры генераторы списков) Что логично, учитывая реализацию этих функций на С.

Автор: Ch0bits 1.11.2009, 11:22
http://www.opennet.ru/base/dev/python_tips.txt.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)