Python on eittämättä tämän hetken suosituin ohjelmointi työkalu, mutta sillä on omat puutteensa. Yksi niistä on hitaus. Tyypillisesti Python on 100-1000 kertaa muita kieliä hitaampi, mutta nyt amerikkalaistutkijat ovat kehittäneet työkalun, jonka avulla Pythoniin saadaan vauhtia.
Pythonin hitaus on joskus jopa surkuhupaisaa. Massachusettsin yliopiston Amherstin tutkimusryhmää johtaneen Emery Bergerin mukaan joissakin tapauksissa Pythonilla kirjoitetut ohjelmat ovat 60 000 kertaa hitaampia kuin muilla ohjelmointikielillä kirjoitettu koodi.
Tietenkään Pythonista ei saada yhtä nopeaa kuin käännetyt ns. konekielet, mutta suosion takia olisi tärkeää, että koodin suorituskyky olisi lähellä muiden tulkittujen kielten tasoa. Ohjelmoijat ovat tienneet tämän jo pitkään, ja Pythonin tehottomuutta vastaan he voivat käyttää työkaluja, joita kutsutaan "profiloijiksi". Profiloijat suorittavat ohjelmia ja määrittävät sitten miksi ja mitkä osat ovat hitaita.
Valitettavasti nykyiset profiloijat auttavat yllättävän vähän Python-ohjelmoijia. Parhaimmillaan ne osoittavat, että jokin koodialue on hidas, ja jättävät ohjelmoijan tehtäväksi selvittää, mitä voidaan tehdä.
Bergerin tiimi, johon kuuluivat UMassin tietojenkäsittelytieteen jatko-opiskelijat Sam Stern ja Juan Altmayer Pizzorno, rakensi Scalenen ensimmäiseksi profiloijaksi, joka ei ainoastaan tunnista tarkasti Python-koodin tehottomuuksia, vaan käyttää myös tekoälyä ehdottaakseen, kuinka koodia voidaan parantaa.
- Scalene keskittyy kolmeen avainalueeseen - prosessoriin, grafiikkasuorittimeen ja muistin käyttöön, jotka ovat vastuussa suurimmasta osasta Pythonin hitaasta nopeudesta, Berger kuvaa.
Kun Scalene on tunnistanut, missä Pythonilla on vaikeuksia pysyä mukana, se käyttää tekoälyä ehdottaakseen tapoja optimoida yksittäisiä rivejä tai jopa koodiryhmiä. - Scalene ei ole vain nopeusmittari, joka kertoo kuinka nopeasti tai hitaasti autosi kulkee, vaan se kertoo, voitko ajaa nopeammin, miksi se vaikuttaa nopeuteen ja mitä voit tehdä saavuttaaksesi maksiminopeuden.
Scalene on jo laajassa käytössä, ja se on ladattu yli 750 000 kertaa sen jälkeen, kun se julkistettiin GitHubissa. Scalenen kehittämiseen johtanutta tutkimusta tuki National Science Foundation.
Kuva: AdobeStock