請問在執行Python時,能夠提升CPU及RAM的使用率,進而加快程式執行的速度嗎?
我是使用最基本的IDEL在進行程式的開發。目前撰寫的一隻程式需要進行大量資料的反復計算。但執行程式時CPU的使用率只有15%左右,RAM的使用率大約落在0.8%,基本上沒有磁碟的讀取。
我已從工作管理員中確認設定預設是用所有的CPU來執行Python。不知道有沒有辦法讓程式可以使用更多CPU及RAM的資源來加快程式執行的速度?謝謝
因為Python設計上就是沒有平行的概念,他有一個叫做全域直譯器鎖的咚咚。
以你CPU 15%的利用率來看,你大概是8核心的處理器,若你要吃滿所有CPU計算資源,你需要先獲得一些設計平行程式的技能,然後才能用例如multiprocessing的套件去榨乾處理器。
若是想要榨乾的對像是RAM,那可以學學DP或是Cache相關的知識點。
不過…沒必要手持鐵鎚看啥都釘子,都要學那麼多了,不如換個擅長平行運算的語言,例如Golang或是C++?
python 支援 multi-thread 及 平行處理的機制,可加快處理速度,要增加RAM的使用,可使用 NumPy Array 宣告一個大型陣列,將資料放入後,一併計算,另外,如果計算是瓶頸,可使用 CUDA programming。