電腦科學家開發開源工具顯著加快程式設計語言Python的速度

Author Avatar

OctoVerse

Joined: Feb 2022

來源: techxplore

black framed eyeglasses on computer screen
照片來源: Unsplash

由Emery Berger領導的馬薩諸塞大學阿默斯特分校的計算機科學家團隊最近推出了一個名為Scalene的獲獎Python分析器。眾所周知,用Python編寫的程式速度慢 – 比用其他程式設計語言編寫的程式碼慢60000倍 – Scalene致力於有效地準確識別Python的滯後位置,允許程式師排除故障並簡化他們的程式碼以獲得更高的性能。

有許多不同的程式設計語言——C++、Java是一些比較知名的程式設計語言——但近年來,有一種語言幾乎無處不在:Python。

“Python是一種’包含電池’的語言,”麻省大學阿默斯特分校曼寧資訊與計算機科學學院計算機科學教授伯傑說,“它在數據科學和機器學習時代變得非常流行,因為它非常使用者友好。該語言帶有易於使用的工具庫,並具有直觀且可讀的語法,允許使用者快速開始編寫Python程式碼。

“但是Python效率低下,”Berger說。“它比其他語言慢 100 到 1000 倍,有些任務在 Python 中可能需要 60000 倍的時間。

程式師早就知道這一點,為了幫助解決Python的低效率問題,他們可以使用稱為“分析器”的工具。探查器運行程序,然後查明哪些部分運行緩慢以及原因。

不幸的是,現有的分析器對Python程式師的説明出奇地少。充其量,它們表明某個程式碼區域很慢,並留給程式師來弄清楚可以做什麼(如果有的話)。

Berger的團隊,包括麻省大學計算機科學研究生Sam Stern和Juan Altmayer Pizzorno,將Scalene構建為第一個分析器,不僅可以精確識別Python程式碼中的低效率,還可以使用AI來建議如何改進程式碼。

“Scalene首先梳理出你的程序在哪裡浪費時間,”Berger說。它專注於三個關鍵領域 – CPU,GPU和記憶體使用方式 – 這是導致Python速度緩慢的主要原因。

一旦Scalene確定了Python在哪些方面難以跟上,它就會使用AI(利用與ChatGPT相同的技術)來建議優化單個行甚至程式碼分組的方法。“這是一個可操作的儀錶板,”Berger說。“這不僅僅是一個速率表告訴你你的車行駛速度有多快或多慢,它告訴你是否可以開得更快,為什麼你的速度會受到影響,以及你可以做些什麼來達到最高速度。

“電腦不再變得更快,”伯傑說。“未來速度的提高將更多地來自更好的硬體,而更多地來自更快、更高效的程式設計。

Scalene已經被廣泛使用,自GitHub上公開發佈以來,下載量已超過75萬次。一篇描述這項工作的論文出現在今年的USENIX操作系統設計和實現會議上,並獲得了最佳論文獎。

※版權所有,歡迎媒體聯絡我們轉載;登錄本網按讚、留言、分享,皆可獲得 OCTOVERSE 點數(8-Coin),累積後可兌換獎品,相關辦法以官網公布為準※

新增留言