編輯:大盤雞
近幾年,,有一種編程語言無處不在,它的大名無人不曉,,網(wǎng)絡(luò)上甚至鼓吹過學(xué)會(huì)它就能成為編程高手,。它就是 Python。 學(xué)會(huì) Python,,如有一寶:易于讀寫,、兼容性強(qiáng)、豐富的庫以及廣泛的用途,,它已經(jīng)在數(shù)據(jù)和機(jī)器學(xué)習(xí)時(shí)代變得非常流行了,。 但是千萬般好,Python 還是有著自己的弊端的,,那就是太慢了,! 編程語言有很多種,如 C++,、Fortran 和 Java 是其中比較出名的,,Python 編寫的程序相對(duì)于它們來說就是出了名的慢。 馬薩諸塞大學(xué)阿默斯特分校(University of Massachusetts Amherst)的計(jì)算機(jī)科學(xué)家團(tuán)隊(duì)在 Emery Berger 的領(lǐng)導(dǎo)下,推出了一款名為 Scalene 的 Python 分析器,。相關(guān)的研究《Triangulating Python Performance Issues with SCALENE》獲得了 USENIX 操作系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)會(huì)議(OSDI)的最佳論文獎(jiǎng),。 Emery Berger 表示, Python 比其他語言慢 100 到 1000 倍,,有些任務(wù)在 Python 中可能需要 60,000 倍的時(shí)間,。而 Scalene 可以有效地準(zhǔn)確識(shí)別 Python 在哪里滯后,讓程序員能夠排除故障并簡(jiǎn)化代碼,,以獲得更高的性能,。 該項(xiàng)目也開源了,GitHub 標(biāo)星近 10 萬,。
其實(shí)程序員們?cè)缇椭?Python 的這個(gè)缺點(diǎn),,為了幫助解決低效率問題,他們可以使用分析器運(yùn)行程序,,然后查明原因和哪些部分運(yùn)行緩慢,。 Scalene 就是一款適用于 Python 的高性能 CPU、GPU 和內(nèi)存分析器,,它能完成許多其他 Python 分析器沒有或無法完成的工作,。它的運(yùn)行速度比許多其他剖分析器快幾個(gè)數(shù)量級(jí),同時(shí)提供的信息也要詳細(xì)得多,。它也是有史以來第一個(gè)采用 AI 優(yōu)化建議的分析器,。 Berger 談到,計(jì)算機(jī)不再變得更快,,未來速度的提升將更多地來自更快,、更高效的編程,而不是更好的硬件,。 Scalene 又快又準(zhǔn)確,。它使用采樣而不是插裝或依賴于 Python 的跟蹤工具。它的開銷通常不超過 10-20%(通常更少),。下圖展示了它的準(zhǔn)確性,,它可以正確地測(cè)量所花費(fèi)的時(shí)間。 使用指南 首先,,你需要輸入 OpenAI 密鑰,。 輸入有效的密鑰后,單擊任意一行旁邊的 bolt (?) 或整個(gè)代碼區(qū)域的 explosion (??),,以生成建議的優(yōu)化,。單擊建議的優(yōu)化,將其復(fù)制到剪貼板,。 你可以在 bolt 或 explosion 上點(diǎn)擊任意次數(shù),,它將產(chǎn)生不同的建議優(yōu)化,。 Emery Berger 簡(jiǎn)介 Emery Berger 是馬薩諸塞大學(xué)阿默斯特分校信息與計(jì)算機(jī)科學(xué)學(xué)院的教授,他于 2002 年畢業(yè)于德克薩斯大學(xué)奧斯汀分校,,獲得計(jì)算機(jī)科學(xué)博士學(xué)位,。 Berger 教授一直是 Microsoft 研究和加泰羅尼亞理工大學(xué)(UPC)/ 巴塞羅那超級(jí)計(jì)算中心(BSC)的訪問科學(xué)家。他的研究涉及編程語言,、運(yùn)行時(shí)系統(tǒng)和操作系統(tǒng),,尤其關(guān)注如何提高系統(tǒng)的可靠性、安全性和性能,。 |
|