C# + Native C での高速化


image_thumb_thumb_thumb

前回、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

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。