今天,我的一個好朋友問我最新的Go語言和Cython之間的主要區(qū)別是什么(Cython是Python的一組C擴展)。我對Python的了解不多,有人可以告訴我為什么Go比Cython更好/更差嗎?
3 回答

Cats萌萌
TA貢獻1805條經(jīng)驗 獲得超9個贊
Cython并不是傳統(tǒng)意義上的語言。它是構(gòu)建Python擴展程序的預處理器,該擴展程序采用類似Python的語法(實際上,他們力求完全兼容Python)并生成C代碼(使用Python C API)。這樣做可以包括一些特殊情況的優(yōu)化,但是真正的好處是,當您添加Cython特定的靜態(tài)類型信息時,該信息將合并到C代碼中,從而繞開了這些操作的Python運行時并提高了速度。
Go是一種編譯的編程語言。Go可以做的第一件事是生成一個不包含Python運行時的可執(zhí)行文件/啟動Python解釋器-這在Cython中是不可能的。(在技術上可能并非不可能-但是,如果您不使用Python,則實際上沒有必要使用Cython)。由于Cython僅產(chǎn)生C語言,因此注釋中的大多數(shù)問題實際上并不適用-您可以使用任何C調(diào)試器(盡管Python擴展這一事實使事情變得更加復雜)。
- 3 回答
- 0 關注
- 299 瀏覽
添加回答
舉報
0/150
提交
取消