有人可以發佈緩存感知算法的任何簡單說明嗎?有很多鏈接可用,但這些網站的閱讀材料本質上是學術性的,並且耗時閱讀和理解。一個緩存感知算法的簡單例子?
7
A
回答
10
緩存感知算法的設計,以儘量減少進出處理器的片上內存緩存的內存頁的運動。這個想法是爲了避免所謂的「緩存未命中」,這會導致處理器在將數據從RAM加載到處理器緩存時停頓。
緩存感知算法小於最佳的紙上可以超越傳統的算法,在理論上是「更快,」因爲緩存感知算法更有效地使用內存。
緩存感知算法明確的編碼才能處理器的緩存行爲的優勢。有關處理器內存頁面大小和「緩存行」的詳細信息被編碼到算法中。因此,高速緩存感知算法將是高度特定於處理器的。
緩存遺忘算法被編碼爲以比傳統算法更友好的方式使用內存,但它並不依賴於底層硬件的詳細細節。
4
我想到了一個高速緩存感知算法的最簡單的例子之一訪問二維數組行主要與列重大。由於二維數組通常作爲數組所有行的串聯存儲在內存中,因此逐行訪問它會在合適的時間將適當的數據放入緩存中。但是,當按列 - 主要順序訪問數組時,內存中的大量跳轉和緩存未命中可能會導致大幅減速。
舉個例子,這個C++代碼:
for (int i = 0; i < MAX_N; ++i) {
for (int j = 0; j < MAX_N; ++j) {
a[i][j] = 10;
}
}
運行速度更快我的機器上3-4倍,如果我交換接入蜂窩小區的指標(即接入a[j][i]
代替)。
相關問題
- 1. Java內存感知緩存
- 2. 尋找一個非常簡單的緩存示例
- 3. 請給出一個簡單的例子,計算
- 4. 實現OAuth2.0的一個簡單例子
- 5. WPF + MVVM + Nhibernate:一個簡單的例子?
- 6. MVC3 DropDownListFor - 一個簡單的例子?
- 7. 感知器學習算法
- 8. 在Python中的簡單感知器
- 9. 簡單的例子
- 10. 突然的js lstm rnn算法死簡單的例子
- 11. 簡單的Html DOM緩存
- 12. javascript中的簡單緩存
- 13. 使ASP.NET應用程序位置感知的最簡單方法?
- 14. 簡單的算法格式化NSDate的2個實例
- 15. 最簡單的方法來創建一個模擬/存根一個FilterUserResponseEvent實例?
- 16. linux uinput:簡單的例子?
- 17. Akka.js TestKit:簡單的例子
- 18. 簡單的例子AngularJS
- 19. 簡單的php websocket例子
- 20. UINavigationController:最簡單的例子
- 21. Qt:Quazip的簡單例子
- 22. 簡單的Ajax例子
- 23. 瞭解感知器訓練算法
- 24. 什麼是感知器學習算法?
- 25. 鎖定和簡單緩存
- 26. iteratee簡介或簡單的例子?
- 27. 簡單算法,但運行內存
- 28. 正確設置一個簡單的服務器端緩存
- 29. 我需要asp.net的路由一個簡單的例子
- 30. Keras autoencoder簡單的例子有一個奇怪的輸出
嗯他沒有要求例子?!第 – ljs 2009-01-24 14:25:15
號這個問題說「簡單的解釋」。 – 2009-01-27 16:52:38