你需要驗(yàn)證你的代碼仍然運(yùn)行。你需要在Python的新版本下使用你獲得的新庫(kù),然后檢查你的應(yīng)用程序是否需要重大改變。只有在你作出必要的正之后,你才會(huì)注意到版本之間的差別。然而,如果你正好確保你的應(yīng)用程序能在新版本下運(yùn)行,而不需要任何改變,你可能會(huì)錯(cuò)過那些版本升級(jí)帶來的新特性。
二、排序時(shí)使用鍵(key)
有很多老的Python排序代碼,它們?cè)谀銊?chuàng)建一個(gè)自定義的排序時(shí)花費(fèi)你的時(shí)間,但在運(yùn)行時(shí)確實(shí)能加速執(zhí)行排序過程。元素排序的好方法是盡可能使用鍵(key)和默認(rèn)的sort()排序方法。
三、讓關(guān)鍵代碼依賴于外部包
這些外部包以不同的方式提高性能。例如,Pyrex能夠擴(kuò)展Python所能做的事情,例如使用C的數(shù)據(jù)類型來讓內(nèi)存任務(wù)加有效或直接。PyInIne讓你在Python應(yīng)用程序中直接使用C代碼。程序中的內(nèi)聯(lián)代碼單獨(dú)編譯,但它在利用C語(yǔ)言所能提供的效率的同時(shí),也讓所有的代碼都在同一個(gè)地方。
四、交叉編譯應(yīng)用程序
一個(gè)有趣的交叉編譯器,Nuitka,可以將你的Python代碼轉(zhuǎn)換為C++代碼。這么做的結(jié)果是,你可以在原生模式下執(zhí)行應(yīng)用程序,而不是依靠解釋器。根據(jù)平臺(tái)和任務(wù),你可以看到一個(gè)顯著的性能提升。
五、優(yōu)化循環(huán)
每種編程語(yǔ)言都會(huì)強(qiáng)調(diào)需要優(yōu)化循環(huán)。優(yōu)化循環(huán)的關(guān)鍵,是要減少Python在循環(huán)內(nèi)部執(zhí)行的工作量,因?yàn)镻ython原生的解釋器在那種情況下,真的會(huì)減緩執(zhí)行的速度。