讀懂記憶體速度與快取
談到記憶體效能時,需要區分兩個數字。一個是吞吐量,表示一次能搬運多少資料;另一個是延遲,表示等待所需資料送達要花多長時間。整體處理大檔案或圖片的工作受吞吐量影響很大,而追蹤零散分佈資料的工作則受延遲影響很大。Web Bench 會同時測量這兩項,展示你的記憶體在哪方面強、哪方面弱。吞吐量以 GB/s 為單位,越高越好;延遲以 ns 為單位,越低越好。理解了這種區分,就能解釋為什麼容量相同的記憶體,實際體驗也可能不同。如果記憶體專案得分偏低,請先檢查瀏覽器中的其他標籤頁或擴充套件程式是否正在佔用資源。
吞吐量專案會按順序讀取、寫入和複製 16 MB 的連續記憶體。快速測試執行讀取和複製,標準測試則三項都會執行。延遲專案採用依賴指標追蹤的方式來追蹤資料,也就是下一個位置取決於上一次讀取的結果,並在訪問區域大小從 16 KB 變化到 256 MB 的過程中反覆進行。區域較小時,資料可以在 CPU 內部的快取記憶體中直接命中,延遲較短;區域增大並超出快取後,就必須去訪問更慢的記憶體,延遲隨之增加。對比不同大小下的結果,可以大致判斷快取層級的邊界在哪裡。這個數值不能代替硬體規格表上的容量或規格。快取是把常用資料放在近處以減少等待的機制,工作資料能否裝進快取,往往決定了速度的高低。
在日常使用中,記憶體效能體現在開啟大量標籤頁的瀏覽器、大尺寸照片和影片編輯,以及遊戲的場景切換上。不過,記憶體容量不足而轉用磁碟的情況不包含在本測試中,實際體驗還會受到 CPU 和儲存的影響。為了得到穩定的結果,請在測試時關閉其他應用,並在相同條件下多次重複,以確認波動範圍。如果是筆記本,電源模式可能會影響記憶體和 CPU 的執行,請記下你的設定。與其因為數字上的些許差別就斷定優劣,不如以差距明顯的專案為重點來解讀,這樣更合理,所有數值都會因環境而異,僅供參考。與其只記錄一次最高速度,不如以在平時相同環境下測得的數值為基準,這樣日後更容易比較變化。測試結束後臨時佔用的記憶體會由瀏覽器自行清理,無需手動清除。
開始測量 ↗