不好意思~ 這篇原本是波在 programming板
但實在是沒什麼人氣...
也沒有得到回應
轉來這邊
希望沒有違反版規...
這是用win32 C / C++ 寫的..
應該多少有一點關連吧
謝謝
作者: QQ29 (我愛阿蓉) 看板: C_and_CPP
標題: Fw: [問題] Windows 的 Cache 可以share嗎?
時間: Tue Jul 24 18:55:08 2012
※ [本文轉錄自 Programming 看板 #1G32SNOG ]
作者: QQ29 (我愛阿蓉) 站內: Programming
標題: [問題] Windows 的 Cache 可以share嗎?
時間: Mon Jul 23 00:15:17 2012
大家好
最近遇到一個同事
在處理一些performance的問題 但他本身並沒有實際coding
遇到問題是
程式在launch時
需要load 圖檔阿, initial一些系統resource阿, load一些dll阿
發現效能不好 可能launch的速度不夠快 想找一些workaround....
想到的辦法是 在windows 開機 run 一隻service把需要的先load好
乍聽之下有道理...
但我問他
那若我程式起來 用什麼機制去和service溝通 拿資料?
RPC or Share memory....
他竟然說
不用阿 windows cache可以share...
但是若這cache被OS清掉了
主程式還是要自己去load....
因為程式不是他寫的...我不確定他講的可信度
1. 若真有此技術....真的可以share 資料 連dll都可以?
我觀念是dll被load一次後 下次另一隻AP要load同一份dll的話就不用重新整包load
2. 若沒有這種東西...一般都用什麼方式去調整這方面的performance..
他是用natvie Win32去寫這程式...
我網路上google 只找到file mapping這塊
http://tinyurl.com/cqer6qz
但他應該不會有所謂的cache被清掉的問題吧?
所以很想了解到底有沒有這種技術
請各位指教
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.192.138.160
※ 編輯: QQ29 來自: 123.192.138.160 (07/23 00:16)
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: QQ29 (118.163.58.205), 時間: 07/24/2012 18:55:08
※ 編輯: QQ29 來自: 118.163.58.205 (07/24 18:56)
推 EdisonX:具小弟所知, file mapping 頂多在 memory,沒到 cache. 07/24 19:53
→ EdisonX:若 cache 可 share, 那應不會有那麼多文在討論 locality. 07/24 19:54
→ EdisonX:初始化慢的話等神手吧,個人覺得只有初始化慢,沒太扯可接受 07/24 19:55
→ EdisonX:(初始化1次,後面用到的可能上千上萬次,所以我較不在意xd) 07/24 19:56
→ james732:另一個想法是需要時再載入,開程式時做的事越少越好 07/24 19:59
→ james732:除了遊戲之類的,通常不會一開始就用到很多很多東西吧? 07/24 20:00
→ james732:這篇會讓我想到記憶體的page共用,搭配Cow減少重覆載入 07/24 20:02
→ EdisonX:我在想 M$ 那篇的 cache 到底和快取的 cache 是不是一樣. 07/24 20:04
→ EdisonX:文中敘述看起來不太像.. 07/24 20:05
推 Chikei:文中在講OS resource cache吧,OS應該管不到cpu cache... 07/24 21:45
→ Chikei:應該只能省disk IO 07/24 21:52