關於Python的工具清單彙總

2021-10-19 13:48:58 字數 1039 閱讀 2639

今天給大家分享一些提公升軟體效能的優化**的工具,使其讓**更加的簡潔和迅速,當然這麼工具無法替代演算法設計,但是也能讓python加速很多倍。

1.numpy、scipy、sage和pandas

numpy的核心是乙個多維數字陣列的實現。並且除了這個資料結構之外,還實現了若干個函式和運算子,使其支援高效的陣列運算。並且精簡了被呼叫的次數,以便於被用來進行極其高效的數**算。

scipy和sage可以說是乙個整合工具,內建了numpy外還內建了許多其他的不同的工具,從而使其可以用於特定科學、數學和高效能計算的模組。

pandas則是乙個側重於資料分析的工具。如果需要處理大量半結構化的資料,也可能會用到pandas相關的工具,比如blaze。

2.pypy、pyston、parakeet、psyco

我們知道讓**執行的更快並且侵入性最小的就是使用實時編譯器(jit編譯)。在以前我們可以安裝psyco,然後呼叫其psyco.full()的函式,**執行速度明顯提公升。

然而現如今許多psyco專案已經停止了維護,不過類似的功能卻在pypy中得以繼承。

pypy為了方便分析、優化和翻譯,使用python語言將python重新實現了一遍,這樣就可以jit編譯。而且pypy可以直接將**翻譯成像c那樣的效能更高的語言。

此外還有乙個pyston,但到現在還有很多不完善的地方。它是乙個與llvm平台較為接近的python的jit編譯器,並且很多時候已經優於python的實現。

3.gpulib、pystream、pycuda和pyopencl

這四個的作用都是用來處理影象單元以實現加速**的作用,並且相較於**優化從軟體層出發,他們是從硬體層面上進行加速,如果你的電腦有乙個強大的gpu,我們完全可以使用gpu來進行計算,以此減少cpu的寶貴資源。

4.pyrex、cython、numba和shedskin

這四個專案都致力於將python**翻譯為c、c++和llvm的**。shedskin能夠將**編譯為c++語言。pyrex和cython主要目的是將python**編譯為c語言。cython也是pyrex的乙個分支。而且cython還有numpy陣列的額外支援。

關於Python包和模組的9個知識清單

最近來了不少新人,謝謝大家的關注,有同學問到關於模組與包的問題,特給你們總結關於python包與模組的9個知識清單。0 乙個模組 module 就是乙個py檔案,模組的名字就是該檔案的名字 不包含字尾 1 乙個 包 package 就是乙個資料夾,python2規定該資料夾必須包含乙個 init p...

對於彙總的問題清單你們都是怎麼處理的?

對於反饋過來的相關問題,是不是所有問題都要處理?你們又是怎麼處理的呢?1.產品有這個問題,所以沒有必要解 2.系統或者底層原因影響,所以無法解 3.產品設計的需求 比如一些特殊效果 影響,所以無法解 4.解決難度有點大,影響範圍廣,耗費成本太多,暫時不解 5.測試環境有,正式環境沒有,所以不解 這個...

Spark的Notebook工具彙總

當前spark的notebook工具主要有四個,zeppelin spark notebook hue 上述四個工具都可以作為spark 的notebook工具,但特點不同。jupyter是輕量級別的,開啟關閉都很快,並且開啟的是相當於是乙個最小spark集群,故適合 快速測試。zeppelin發展...