Kreditas: Unsplash/CC0 viešasis domenas Masačusetso universiteto Amherst kompiuterių mokslininkų komanda, vadovaujama Emery Berger, neseniai pristatė apdovanojimus pelniusį Python profiliuotoją, pavadintą Scalene. Programos, parašytos naudojant Python, yra labai lėtos – iki 60 000 kartų lėtesnės nei kitomis programavimo kalbomis parašytas kodas, o „Scalene“ padeda efektyviai nustatyti, kur „Python“ atsilieka, todėl programuotojai gali pašalinti triktis ir supaprastinti savo kodą, kad būtų padidintas našumas.
Yra daug skirtingų programavimo kalbų – C++, Fortran ir Java yra vienos iš labiau žinomų, tačiau pastaraisiais metais viena kalba tapo beveik visur: Python.
„Python yra „baterijos“ kalba“, – sako Bergeris, UMass Amherst Manningo informacijos ir kompiuterių mokslų koledžo informatikos profesorius, „ir ji tapo labai populiari duomenų mokslo ir mašinų amžiuje. mokymasis, nes tai toks patogus naudoti. Kalba yra su lengvai naudojamų įrankių bibliotekomis ir turi intuityvią bei skaitomą sintaksę, leidžiančią vartotojams greitai pradėti rašyti Python kodą.
„Tačiau Python yra beprotiškai neefektyvus“, – sako Bergeris. „Jis lengvai veikia nuo 100 iki 1000 kartų lėčiau nei kitos kalbos, o kai kurios užduotys Python gali užtrukti 60 000 kartų ilgiau.
Programuotojai tai jau seniai žino ir norėdami padėti kovoti su Python neefektyvumu, gali naudoti įrankius, vadinamus „profiliatoriais“. Profileriai paleidžia programas ir tiksliai nustato, kurios dalys yra lėtos ir kodėl.
Deja, esami profiliuotojai stebėtinai mažai padeda Python programuotojams. Geriausiu atveju jie nurodo, kad kodo sritis yra lėta, ir palieka programuotojui išsiaiškinti, ką galima padaryti.
Bergerio komanda, kurią sudarė UMass kompiuterių mokslo absolventai Samas Sternas ir Juanas Altmayeris Pizzorno, sukūrė „Scalene“ kaip pirmąjį profiliuotoją, kuris ne tik tiksliai nustato Python kodo neefektyvumą, bet ir naudoja AI, kad pasiūlytų, kaip kodą galima patobulinti.
„Scalene pirmiausia atskleidžia, kur jūsų programa švaisto laiką“, – sako Bergeris. Jame pagrindinis dėmesys skiriamas trims pagrindinėms sritims – procesoriaus, GPU ir atminties naudojimui, kurios yra atsakingos už didžiąją dalį lėto Python greičio.
Kai „Scalene“ nustato, kur „Python“ sunku neatsilikti, jis naudoja AI – panaudodama tą pačią „ChatGPT“ technologiją, kad pasiūlytų būdus optimizuoti atskiras eilutes ar net kodo grupes. „Tai yra veiksmingas prietaisų skydelis“, – sako Bergeris. „Tai ne tik spidometras, rodantis, kaip greitai ar lėtai važiuoja jūsų automobilis, jis nurodo, ar galite važiuoti greičiau, kodėl jūsų greitis yra paveiktas ir ką galite padaryti, kad pasiektumėte maksimalų greitį.
„Kompiuteriai nebegreitėja“, – sako Bergeris. „Ateities spartos patobulinimai bus mažesni dėl geresnės aparatinės įrangos ir daugiau dėl greitesnio ir efektyvesnio programavimo.
„Scalene“ jau plačiai naudojamas ir buvo atsisiųstas daugiau nei 750 000 kartų nuo viešo pristatymo „GitHub“. Šis darbas buvo aprašytas šių metų USENIX konferencijoje dėl operacinės sistemos projektavimo ir diegimo, kur jis laimėjo geriausio popieriaus apdovanojimą.
Citata: Kompiuterių mokslininkai kuria atvirojo kodo įrankį, skirtą žymiai pagreitinti programavimo kalbą Python (2023 m. rugpjūčio 28 d.), gautą 2023 m. rugpjūčio 28 d. iš https://techxplore.com/news/2023-08-scientists-open-source-tool-language -python.html
Šis dokumentas yra saugomas autorių teisių. Išskyrus bet kokius sąžiningus sandorius privačių studijų ar mokslinių tyrimų tikslais, jokia dalis negali būti atkuriama be raštiško leidimo. Turinys pateikiamas tik informaciniais tikslais.