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)
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. #
Eggert - 14/02/12 11:09 #
http://wiki.python.org/moin/PythonSpeed/PerformanceTips
Xrange er ekki til í Python 3 heldur. Skiptir kannski ekki máli, er nokkur farinn að nota Python 3?
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?
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.