第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python中fork的代價

python中fork的代價

慕容3067478 2019-04-13 08:46:29
通常在java開發(fā)中采用單進程多線程的方式開發(fā),因為JVM實在是太大了。但是在python中由于gil的原因,采用多線程方式無法很好的利用多核,那這樣出了協(xié)程以外,就只能采用fork的方式了。python中fork的代價有多大?
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經(jīng)驗 獲得超4個贊

我純粹來作為字面黨回答下樓主“Python中fork的代價有多大”:
寫一段C++的代碼和Python的代碼,都是做同樣的事,fork10000次,每次創(chuàng)建子進程后立刻結(jié)束子進程。
#!/usr/bin/envpython
#coding:utf-8
importtime
importos
start=time.time()
foriinrange(10000):
pid=os.fork()
ifpid==0:
os._exit(0)
printtime.time()-start#單位為秒
#include
#include
#include
intmain()
{
intpid;
std::clock_tc_start=std::clock();
for(inti=0;i<10000;++i){
if((pid=fork())==0){
_exit(0);
}
}
std::cout<<(std::clock()-c_start)/1000<<"ms\n";
return0;
}
結(jié)果:python版本用時3秒左右,C++版本用時700多毫秒。python:c++為4倍左右。
考慮到一般情況下python跟c++在運行效率上的差異,這個差距算是很好了。
c++是直接使用系統(tǒng)調(diào)用fork函數(shù),所以python中fork的代價現(xiàn)在應該很明了。
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 501 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號