前回、C# 、C++/CLI (マネージドコード)で実行してみたが、次に Native での実行と比較してみた。
ちょっと大きめの画像での実行結果は次の表のとおり。
番号 | 説明 | C# (秒) | C++/(秒) | C# + Native C(秒) |
1 | Debug | 8.1 | 4.3 | 2.9 |
2 | Release | 4.8(コードの最適化 Off) | 3.7: 最適化無効 (/0d) | 2.1: 最適化無効 (/0d) |
3 | Release | 4.5 (コードの最適化 On) | 2.7 : 最大限の最適化 (/Ox) | 0.5: 最大限の最適化 (/Ox) + SSE2 |
コード自体は、C#/C++/Native C とほとんど同じ素直にループを回すロジックだが、速度的には10倍近い差が出ている。
Managed/Unmanaged 間のデータ交換はこちらを参考。
http://msdn.microsoft.com/ja-jp/library/ms146625(v=vs.80).aspx
コメントを残す