看板 Python 關於我們 聯絡資訊
請教一下 我有在 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