記憶體階層與效能
下列何者最適合作為時間局部性的例子?
- A從頭開始依序將陣列的元素各讀取一次
- B在迴圈中多次更新同一個加總用的變數
- C每次都只讀取一次隨機位址的資料
查看答案與解析
正確答案:B. 在迴圈中多次更新同一個加總用的變數
時間局部性是指用過一次的資料在不久之後會再次被使用的性質,在迴圈內反覆讀寫的變數就是典型例子。這類資料在仍留在快取或暫存器的期間會被重複使用,因此存取速度變快。從頭依序讀取陣列,是連續使用相鄰位址的空間局部性的例子,與時間局部性是不同的性質。隨機只讀取一次的存取,幾乎兩種局部性都不具備。
- A. 從頭依序讀取是空間局部性的例子。
- B. 正確。短時間內多次使用同一個變數就是時間局部性。
- C. 隨機各讀取一次的存取幾乎沒有局部性。