Un grup de informaticieni de la Universitatea din Massachusetts Amherst, condus de Emery Berger, au realizat un profiler Python pe nume Scalene.
Programele Python sunt renumite pentru performanța lor lentă, fiind adesea de până la 60.000 de ori mai lente decât codul scris în alte limbaje de programare. Scalene își propune să identifice în mod eficient zonele exacte în care codul Python este în urmă, permițând programatorilor să identifice și să-și optimizeze codul pentru o performanță îmbunătățită.
Berger, profesor de informatică la UMass Amherst, descrie Python ca un limbaj „inclus în baterii” care a câștigat popularitate în știința datelor și în învățarea automată datorită ușurinței sale de utilizare. Python vine cu biblioteci ușor de utilizat și are o sintaxă intuitivă, permițând utilizatorilor să înceapă rapid să scrie cod.
Berger observă că eficiența lui Python este o provocare. Poate rula între 100 și 1.000 de ori mai lent decât alte limbi, iar unele sarcini ar putea dura chiar de 60.000 de ori mai mult în Python.
Pentru a rezolva ineficiența lui Python, programatorii folosesc instrumente numite „profileri” pentru a identifica părțile lente ale codului lor. Cu toate acestea, profilerii existenți oferă adesea asistență limitată. Ele pot indica faptul că o secțiune de cod este lentă, dar lăsați programatorul să determine cum să o îmbunătățească.
Echipa lui Berger, inclusiv studenții absolvenți ai UMass în informatică, Sam Stern și Juan Altmayer Pizzorno, au dezvoltat Scalene ca un profiler care nu numai că identifică cu exactitate ineficiența codului Python, ci și folosește AI pentru a sugera modalități de îmbunătățire a codului.
Scalene identifică mai întâi unde un program pierde timpul, concentrându-se pe trei domenii cheie: CPU, GPU și utilizarea memoriei, care contribuie în mod semnificativ la încetinirea lui Python. Odată ce zonele cu probleme sunt identificate, Scalene folosește AI, similar cu tehnologia din spatele ChatGPT, pentru a recomanda optimizări pentru linii individuale sau grupuri de cod. Aceasta oferă un tablou de bord acționabil care nu numai că indică viteza, ci oferă și perspective asupra potențialelor îmbunătățiri și modalități de a atinge viteza maximă.
Berger subliniază că, deoarece computerele nu mai avansează rapid în ceea ce privește hardware-ul, îmbunătățirile viitoare ale vitezei vor veni din programarea mai eficientă.
Scalene este deja utilizat pe scară largă, cu peste 750.000 de descărcări de la lansarea sa publică pe GitHub.
O lucrare care detaliază această lucrare a fost prezentată la Conferința USENIX privind proiectarea și implementarea sistemelor de operare, unde a primit premiul pentru cea mai bună lucrare.
Mai multe știri pe republikanews.ro.
Ne găsești pe pagina de Facebook RepublikaNews.