CPUの世代が変わるだけで処理能力に劇的な変化があるが、最近ノートPCではあるがHaswellを入手したのでSandayBridgeと比較してみた。
ベンチマークに使用したのは29Mカラー画像をトラッキングし差分検出するロジックを使用した。
このロジックは回転補正時に最適な角度に合わせるため複数回超精密ローテーションを使用するため膨大な計算量が必要で、マルチスレッドに対応しているためコア数の差が如実に現れる。

  • マシン1:旧型デスクトップ(i5-2500 3.3G 4コア SandayBridge) 3sec
  • マシン2:新型ノートPC(i7-4500U 1.8G 2コア Haswell) 5sec

これを同スペックに換算するためi7-4500を同一周波数にするとして1.8倍、コア数で単純倍だとして3.6倍=1.36sec
一世代変わると能力が2倍変わるようなこともあるため同スペックのHaswellなら能力が単純倍と思っても不思議はない。
昔i7-990X(3.46G 6コア Gen1)とこのi5-2500で990が負けてがっかりした・・・
正直このロジック、ターゲットラインが1secであるため最適化を頑張っても3>2secが限界だと感じている。
ということはi7-4960X 3.6G 6コアを使用すれば単純6倍で十分1sec切れるかなと・・・
CPU性能に頼るのはプログラマーとしてどうかとも思うが、正直かなり最適化しているのでしょうがない。
やるだけやって後はCPUに任せると、要は工数とCPU単価のバランスである。
本当にパフォーマンスが必要なときのためにXeonE7,8基とかって構想もあるのだがなかなかそこまで出番がない・・・やってみたい