我正在購買一臺新電腦。這很好,但我想知道它有多快。
現在我可以使用已經建立的基準 - 但我想知道爲什麼它更快。編寫小型基準測試
所以我的想法是:
1.編寫小的基準用-march =本地
3.配置文件來測試非常具體的東西
2.編譯兩次,比較
現在我只需要來了基準:
- 向量(或矩陣)操作來測試SIMD指令
- - 窮舉平方根來測試一般指令在GB範圍測試RAM速度
的memcpy(),memset的()&了memchr() SP eed和pipeline
- 簡單算術(x [i] ++或者其他)來測試緩存 - 用2,3和4個不同值的模式填充數組。
對於每個不同的值(使用if/else的一個測試,其中一個使用switch)做一些小事情。
這應該測試分支預測器。
我錯過了一項功能嗎?這些基準中的任何一個都可以簡化嗎?對於我認爲涵蓋的CPU功能是否還有其他更好的測試?
現代CPU擁有數百個微架構「功能」,並針對ILP,mem/cache帶寬,預取,省電等進行了優化。每種CPU都具有常見或特殊情況下的特殊行爲。所以是的,你很可能錯過了一個功能。 – Leeor