Örvitinn

Hraðvirkari Python kóði

Nokkrar fínar ábendingar fyrir Python forritara. Nokkur atriði þarna sem ég hef ekki spáð í, t.d. biset og að "while 1" sé hraðvirkara en "while True"!

Python Performance Tips, Part 1

No question about it: Python program does not run as fast or efficiently as compiled languages. Even Python advocates will tell you performance is the area that Python is not good for. However, YouTube has proven Python is capable of serving 40 million videos per hour. All you have to do is writing efficient code and seek external (C/C++) implementation for speed if needed. Here are the tips to help you become a better Python developer

(via reddit)

python
Athugasemdir

Matti - 14/02/12 10:08 #

Varðandi while True/1

In Python 3, True is a keyword, not a built-in. That means the byte code compiler can put in a cheap simple jump instead of an expensive global lookup. In Python 2, True could be changed, so a global lookup was required as a check. 1 is a constant, so the bytecode compiler can depend on it. Basically: while 1 in Python 2, while True in Python 3. #

Matti - 14/02/12 15:04 #

Tja, ég hef a.m.k. aldrei notað Python 3 og sé ekki fram á að gera það á næstunni.

Matti - 14/02/12 20:17 #

Í umræðunum á reddit er komin nokkuð hörð gagnrýni á greinina, sumt í henni stenst ekki nánari skoðun.

Valgarður Guðjónsson - 15/02/12 00:23 #

Fyrir (allt of) mörgum árum sá ég setningu á þeim nótum að ef þú ætlaðir að rökræða forritunarmál þá væri betra að byrja á einhverju auðveldu, eins og til dæmis trúmálum.

Er þetta merki þess að þú sért orðinn leiður (útskrifaður?) í trúmálunum?

Matti - 15/02/12 07:35 #

Það má hugsanlega draga þá ályktun :-)

Annars ætlaði ég ekkert að rökræða, þetta átti að vera mjög jákvætt innlegg í umræðuna. Reyndar skimaði ég bara greinina áður en ég setti inn vísun. Svo kemur í ljós að það eru nokkrar furðulegar fullyrðingar í henni.

Nonni - 15/02/12 22:19 #

Hvort sem þetta er rétt eða ekki, finnst mér að fólk ætti að hafa það sem fallegar reynist þegar það skrifar Pythonkóða. Ef hraði skiptir máli þá droppar maður niður í cython, psycho eða bara lítið sætt c-library.

Matti - 15/02/12 23:37 #

Alveg rétt í grundvallaratriðum. Ég hef þó stundum náð mjög mikilli hraðaaukningu með því að endurskrifa Python kóða, yfirleitt eftir fólk sem kunni lítið í Python þ.a. kóðinn varð líka læsilegri við endurskrift/refactoring.

Erlendur - 16/02/12 13:45 #

Ég verð að viðurkenna að ég nota eina þumalputtareglu þegar ég skrifa í Python, þetta á að vera fallegur kóði. Hraði er eitthvað sem skiptir engu máli hjá mér. Það gæti tengst því að allur Python kóði sem ég skrifa er til þess að greina niðurstöður sem fást út úr löngum keyrslum úr FORTRAN forritum ;)

Reyndar hjálpar eitthvað að það sem mér finnst vera fallegt er mjög hraðvirkt í Python, þe. list comprehension og svoleiðis skemmtilegheit.