Sandra XII

SiSoftware
http://www.sisoftware.co.uk/

Sandraも、既に英語版はSandra XII(Sandra 2008)が登場するに至った。こちらではJava環境と.NET環境における性能の測定とか、一部モジュールでは消費電力の測定なども加わった結果、テスト項目が更に充実した。そんなわけで、まずはこれを使ってCPU周りの性能を比較してみた。

グラフ1がDhrystone/Whetstoneのいつものテスト、グラフ2がMulti-Media Testで、こちらはマンデンブロ図形の計算である。ただし見て判るとおり、x86 Native以外にJava/.NET上のものも用意されており、これらを使っての比較となる。

さて結果である。見て判るとおり、殆どのテストでYorkfieldがKentsfieldを上回るスコアを出している。これが何によるものか、という話はまだここでは追求しないが、1~2%程度から50%越えまで、同クロックにもかかわらず伸びを見せているのは注目に値する。ただ同時にDhrystone JavaとかMulti-Media Int/Float Javaの様に性能が落ちるケースもあるわけで、無条件に高速になる、とまではいかないようだ。

Multi-Core Efficiencyの比較は今回は省かせていただき、次にCache Latencyを比較してみた。グラフ3がRandom Access、グラフ4がLinear Accessの結果だが、L1に関してはどちらも同じである。ところがL2に関しては、Yorkfieldの方が若干(1clock程度)多めにレイテンシが掛かっている様だ。やはりWay数が増えたため、Hit/Missの判断に時間がかかる事が多くなったと思われる。毎回全Tagを舐める訳ではないから、Linear Accessでは影響が少なく1clock未満だが、影響の多いRandom Accessではほぼ1clock分Latencyが多くなっているあたり、この推測を裏付ける結果になっている。逆にL2 Missの領域ではもう余り大きな影響はないようだ。4MBと6MBというL2キャッシュの差があるために、16MBの結果はRandom Accessでは多少差があるが、64MBまでいくともう全然差が見られないあたりがこれを裏付けている。

最後にMemory Bandwidthの結果をグラフ5に示す。動作周波数が同じなので、本来はもっとぴったり結果が一致しそうなもの(16MBの結果だけが多少ずれる程度であろう)だが、L1が効く領域でかなり変動が見られるのはちょっと面白い。既に公開されているMicroarchitectureの改良以外にも、何かしら影響するものがあるのかもしれない。ただ、総じて大きな性能差ではないことを考えると、単なる測定の揺らぎの可能性もある。