Oktatás * Programozás 2 * Szkriptnyelvek * levelezősök Félévek Linkek * kalendárium |
Py /
20170517bprofiling "Az informatikai szaknyelvben profiling néven hivatkozunk azokra az eljárásokra, amelyek során egy program futásának jellemzőit (memóriahasználat; I/O műveletek; egyes függvények hívásainak száma, azok futási ideje; hívási lánc; stb.) számszerűsítve összegyűjtjük és ebből próbálunk következtetéseket levonni." (idézet innen) Ha egy program lassú (sok memóriát fogyaszt), s szeretnénk javítani a futási időn (memóriahasználaton), akkor érdemes elővenni egy profiling eszközt, és azonosítsuk azt a részt, ahol a leglassabb a program, ahol a legtöbb időt tölti / a legtöbb műveletet végzi / a legtöbb memóriát eszi. Vagyis keressük meg a szűk keresztmetszetet (bottleneck), s erre koncentráljunk. Ne a kis mikro-optimalizációkkal foglalkozzunk, hanem a szűk keresztmetszetet próbáljuk megszüntetni. Ha kész, nézzük meg ismét, hogy van-e még problémás rész a kódunkban. Ezáltal egy gyengén teljesítő program bámulatosan feljavítható. A Python nem a gyorsaságáról híres, de egy lassú program egy kis profilozással nagy valószínűséggel sokkal hatékonyabbá tehető. Linkek |
Blogjaim, hobbi projektjeim * The Ubuntu Incident [ edit ] |