我上运行我们的程序ocount计算L2缓存读取事件,以及我们对这些结果:什么是一个很好的缓存命中/失败率?
Event Count % time
counted
l2_rqsts:all_demand_data_rd 14,418,959,276 80.01
l2_rqsts:demand_data_rd_hit 6,297,000,387 80.00
l2_rqsts:demand_data_rd_miss 6,104,577,343 80.00
l2_rqsts:l2_pf_hit 667,709,870 80.01
l2_rqsts:l2_pf_miss 1,641,991,158 79.99
但是我们不知道,如果这些结果应被视为总缓存捣毁与否。
对于L2缓存,你认为一个很好的比率命中率?
我期望它在很大程度上取决于CPU架构和应用程序的要求,但是它有一个通用的允许值吗?
就其本身而言,缓存命中/未命中并不能真正告诉您除潜在优化之外的任何其他内容。 – Jason
那么,你怎么知道缓存未命中是你的应用程序的瓶颈? – rvlander
缓存命中/未命中不会告诉您缓存未命中的类型。有不止一个(强制性,能力,冲突等)。 – Jason