python怎么把cpu占满_如何增加python CPU使用率
我是新手程序員,所以在這里有些迷路.
我編寫了一個小的python函數(shù),根據(jù)我的搜索區(qū)域的運(yùn)行,這非常耗時,這是預(yù)期的.
經(jīng)過一定的閾值后,我的程序似乎總是丟失大約一百萬條記錄. Python Shell沒有響應(yīng),但是CPU使用率仍然穩(wěn)定在13%左右.我也無法通過KeyboardInterrupt停止程序執(zhí)行
所以我的問題是:是否可以增加我的python程序的CPU使用率以使其運(yùn)行更快?
附帶問題:關(guān)于python shell變得無響應(yīng)的任何幫助?我沒有使用過多的內(nèi)存,我只需要能夠盡可能快地循環(huán)通過一大組內(nèi)存即可.
解決方法:
您的CPU是多核CPU嗎?如果是的話,有幾種方法可以將多個內(nèi)核與python一起使用.
內(nèi)置的是多處理模塊. multiprocessing.Pool類使用map()和相關(guān)方法在多個CPU之間提供矢量化.但是這里需要權(quán)衡.如果必須在進(jìn)程之間傳遞大量數(shù)據(jù),那么這種開銷可能會抵消多核的優(yōu)勢.
使用合適的numpy版本.如果numpy是使用多線程ATLAS庫構(gòu)建的,則在遇到大問題時會更快.
使用擴(kuò)展模塊,例如numexpr、parallel python、corepy或Copenhagen Vector Byte Code.
請注意,線程模塊在這方面并不是很有用.為了簡化內(nèi)存管理,全局解釋器鎖(“ GIL”)強(qiáng)制一次只能有一個線程執(zhí)行python字節(jié)碼.但是,像numpy這樣的外部模塊可以在內(nèi)部使用多個線程.
標(biāo)簽:cpu,python
來源: https://codeday.me/bug/20191122/2058060.html
總結(jié)
以上是生活随笔為你收集整理的python怎么把cpu占满_如何增加python CPU使用率的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hiveserver2启动不起来_一辆顶
- 下一篇: blob转file对象_JavaScri