Massachusetts Amherst Üniversitesi’nde Emery Berger liderliğindeki bilgisayar bilimcilerinden oluşan bir ekip, geçtiğimiz günlerde Scalene adlı ödüllü Python profilleyicisini tanıttı. Python ile yazılan programlar, diğer programlama dillerinde yazılan kodlardan 60.000 kata kadar daha yavaş olmasıyla ünlüdür ve Scalene, Python’un tam olarak nerede geciktiğini verimli bir şekilde belirleyerek programcıların daha yüksek performans için kodlarında sorun gidermelerine ve düzene koymalarına olanak tanır.
Pek çok farklı programlama dili vardır —C++, Fortran ve Java en iyi bilinenlerden bazılarıdır- ancak son yıllarda bir dil neredeyse her yerde bulunur hale gelmiştir: Python.
UMass Amherst’teki Manning Bilgi ve Bilgisayar Bilimleri Koleji’nde Bilgisayar Bilimleri Profesörü Berger: “Python ‘bataryalar dahil’ bir dildir. Veri bilimi ve makine öğrenimi çağında çok popüler hale geldi çünkü çok kullanıcı dostu.”
Kullanımı kolay araçlardan oluşan kütüphanelerle birlikte gelen dil, sezgisel ve okunabilir bir sözdizimine sahip ve kullanıcıların Python kodu yazmaya hızlı bir şekilde başlamasına olanak tanıyor.
Berger: “Ancak Python çılgınca verimsiz. Diğer dillerden 100 ila 1.000 kat daha yavaş çalışıyor ve bazı görevler Python’da 60.000 kat daha uzun sürebiliyor.”
Programcılar bunu uzun zamandır biliyor ve Python’un verimsizliğiyle mücadeleye yardımcı olmak için “profilleyici” adı verilen araçları kullanabiliyorlar. Profilleyiciler programları çalıştırır ve ardından hangi kısımların yavaş olduğunu ve nedenini belirler.
Ne yazık ki, mevcut profilleyiciler Python programcılarına yardımcı olmak için şaşırtıcı derecede az şey yapıyor. En iyi ihtimalle, kodun bir bölgesinin yavaş olduğunu belirtiyor ve ne yapılabileceğini bulmayı programcıya bırakıyorlar.
Berger’in UMass bilgisayar bilimleri yüksek lisans öğrencileri Sam Stern ve Juan Altmayer Pizzorno’yu da içeren ekibi, Scalene’i yalnızca Python kodundaki verimsizlikleri tam olarak belirlemekle kalmayıp aynı zamanda kodun nasıl geliştirilebileceğini önermek için yapay zekayı kullanan ilk profil oluşturucu olarak inşa etti.
Berger: “Scalene ilk olarak programınızın nerede zaman kaybettiğini ortaya çıkarıyor” diyor. Python’un yavaş hızının çoğundan sorumlu olan üç temel alana (CPU, GPU ve bellek kullanımı) odaklanıyor.
Scalene, Python’un nerede sorun yaşadığını belirledikten sonra, tek tek satırları ve hatta kod gruplarını optimize etmenin yollarını önermek için ChatGPT’nin temelini oluşturan aynı teknolojiden yararlanarak yapay zekayı kullanıyor.
Berger: “Bu, eyleme geçirilebilir bir gösterge tablosu. Bu sadece arabanızın ne kadar hızlı ya da yavaş gittiğini gösteren bir hız göstergesi değil, size daha hızlı gidip gidemeyeceğinizi, hızınızın neden etkilendiğini ve maksimum hıza ulaşmak için neler yapabileceğinizi söylüyor. Bilgisayarlar artık hızlanmıyor. Gelecekte hızdaki gelişmeler daha iyi donanımdan ziyade daha hızlı, daha verimli programlamadan kaynaklanacak.”
Scalene halihazırda geniş bir kullanım alanına sahip ve GitHub’da halka açıldığından bu yana 750.000’den fazla kez indirildi. Bu çalışmayı anlatan bir makale, bu yılki USENIX İşletim Sistemi Tasarımı ve Uygulaması Konferansı’nda yayınlandı ve burada En İyi Makale Ödülü’nü kazandı.
Kaynak: //techxplore.com/news/2023-08-scientists-open-source-tool-language-python.html