作者largesperm (reindeer)
看板Python
標題[問題] mmap example
時間Tue Jul 30 16:31:11 2013
請教一下 我有在 google 搜尋 mmap
不過真的是怎麼看的看不透 mmap 的原理
有找到 example 也看不出個所以然
因為 mmap 一開始都還是要去開一個 file
那這樣跟直接讀寫檔案有什麽不一樣嗎
這一點是我最搞不懂的地方
其次就是我要怎麼知道 delphi 使用的 shared memory
跟 python 使用的 shared memory 是同樣的
該不會就是靠上一段描述的那個檔案吧?
然後因為我是 Python 2.5 沒辦法用 with
網路上找到的例子幾乎都是 with
這點我不知道會不會有很大的影響
我現在想做的事情很單純
程式 A 是用 delphi 寫的
我需要程式 A 一直丟一組字串給我
我現在的處理方式是 程式 A 一直會把字串存到檔案 C
Python 這邊就是嘗試固定每 30ms 去讀檔案 C (try)
如果檔案 C 還在寫入 就放棄沒關係 (except: pass)
這個方式雖然可行
但是我還是很想知道要怎麼用 mmap 做到這件事情
所以想請問是否能有個 Python 2.5 的例子參考
很簡單的就可以了 因為我需要的就是不停的讀字串
觀念還不是很好 請多多指教
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.69.42.170
※ 編輯: largesperm 來自: 219.69.42.170 (07/30 16:34)
→ os653:mmap會快似乎是減少了很多開銷(讀硬碟,paging等等) 07/31 08:09
→ os653:以前用sqlite3寫資料庫的時候,用mmap可以快數十倍到百倍 07/31 08:10
→ os653:當然主要是因為寫的太爛所以才有那麼大的空間給mmap提升效能 07/31 08:11
→ os653:如果你只是要一個程序把字串丟給另一個,其實用socket比較方 07/31 08:14
→ os653:便,不用polling也不會丟失資訊,字串不大速度應該也能接受 07/31 08:16