真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MMAP文件加速讀寫小技巧是什么

MMAP文件加速讀寫小技巧是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

堅(jiān)守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都混凝土攪拌站小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)頁設(shè)計(jì)營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

進(jìn)程讀寫數(shù)據(jù)時(shí)除了使用read和write,還可以使用mmap進(jìn)行文件映射,區(qū)別如下圖所示:

MMAP文件加速讀寫小技巧是什么

             

可以看到,磁盤文件加載到內(nèi)存后,還需要執(zhí)行一次拷貝操作。

如果使用mmap,則是磁盤文件直接加載到用戶空間,也就是上圖中深黃色部分,進(jìn)程可以通過指針直接操作文件。

粗看起來mmap少了一次拷貝,理論上比read要快。但是,調(diào)用mmap后并不會(huì)真實(shí)將文件加載到內(nèi)存,因此在讀寫過程中(特別是大文件)會(huì)觸發(fā)大量中斷,導(dǎo)致性能降低,就算使用madvise調(diào)用加速參數(shù)都沒有用。這里提供一個(gè)小方法,對(duì)文件每一頁讀取一下首字節(jié):

MMAP文件加速讀寫小技巧是什么

上面的代碼我們使用兩個(gè)數(shù)據(jù)完全相同8M文件,看看執(zhí)行預(yù)加載和不執(zhí)行預(yù)加載后的表現(xiàn):

MMAP文件加速讀寫小技巧是什么

可以看到執(zhí)行預(yù)加載調(diào)用速度明顯比不執(zhí)行要快。使用madvise加速有沒有效果呢?看一下:

MMAP文件加速讀寫小技巧是什么

沒有效果,還是執(zhí)行預(yù)加載調(diào)用速度明顯比不執(zhí)行要快。程序兩次讀文件時(shí)間略有偏差,是因?yàn)閏pu與內(nèi)存本身的電氣特性。

魯棒性

當(dāng)使用mmap進(jìn)行共享映射時(shí),多個(gè)進(jìn)程可以操作同一文件,典型場(chǎng)景就是使用vim編輯文件,然后使用cat查看文件,如下圖:

MMAP文件加速讀寫小技巧是什么

這個(gè)時(shí)候就有競(jìng)爭(zhēng)場(chǎng)景了,進(jìn)程1和2分別只能看見自己的私有虛擬地址,需要調(diào)用者自己實(shí)現(xiàn)鎖機(jī)制,詳情可以參考寫時(shí)拷貝機(jī)制。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


網(wǎng)頁標(biāo)題:MMAP文件加速讀寫小技巧是什么
當(dāng)前網(wǎng)址:http://weahome.cn/article/pecdjg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部