関連記事
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 死体キタ━(゚∀゚)━!!病み上がりなのにC++1000行実装などを 【2022年10月24日(月)】
- VC++のXMLパーサをC#で書き直しているが,XMLな実装作業の苦行なことモルモルモル 【2022年05月10日(火)】
- 【#TensorFlow】TFLiteなCーAPIを実装中 頭痛してきた(汗 【2022年02月07日(月)】
C++版の以前のmemcpy()テストは,こちら
C#版は,こちら
学校でインテルコンパイラ,なるものを購入してみた
VisualStudioのC++コンパイラだと
CPUのSSE命令(マルチメディア演算命令),バージョン2(SSE2)までしか対応してなくて
インテルコンパイラだと,バージョン4(SSE4)まで対応しているとのこと
研究室のプロジェクトでは
SSEが得意とする,浮動小数演算,ベクトル演算,画像処理演算やらを大量に実装しており…
かなり強力な武器になりそう…
ってことで,例のごとく,とりあえず,memcpy()で,速度の計測を,ば
以前からすると実行するPC環境が変わっているんで,以前のデータは参考情報でお願いしますです
あ,あと,テストに使ったソースも以前のmemcpy()のページと同一です
Visual Studio2005でビルドかけなおすと,sprintf()セキュリティ関係の警告でますが
無視しまくり,ってことで(爆
CPU : Intel Core2 Quad(2.4GHz)
Memory : 2GB
OS : Windows XP Pro
C++ : Visual Studio 2005(VC++ 8.0 or インテルコンパイラー ver10.1日本語版)
画像データ2000回の memcpy()を実行 |
VC++ リリースコンパイル |
インテルコンパイラ リリースコンパイル (最適化オプションの操作はなし) |
インテルコンパイラ リリースコンパイル (最適化オプションをかなりいじってみた)(注1) |
ハイビジョンサイズ 1280 * 960 32ビットピクセル (4.8MB) |
5,829ミリ秒 (1,686,464 B/ms) |
3,766ミリ秒 (2,610,302 B/ms) |
3,453ミリ秒 (2,846,915 B/ms) |
ぬぉ~~
インテルコンパイラをインストールして
ビルドかけなおすだけで30%以上も速くなってる!!
な,なんじゃこりゃ!
もっと,早くに買っておくべきだったなぁ...
あまりの威力に絶句中….
コンパイルオプション,いじくり倒せば
もう少し速くなりそう…
(注1)
変更したオプションは
-
インテルプロセッサー拡張コードの使用 : インテル Core 2 Duoプロセッサー(/QaxT)
インテルプロセッサー拡張コードの要求 : インテル Core 2 Duoプロセッサー(/QxT)
最適化 : 最大限の最適化(/Ox)
コメント
【#象印】給湯ポットがついに壊れたピエン
【速報】宮崎市の大淀川河口付近で6人乗りの船が転覆 2人が意識不明の重体
【#巨大地震】フィリピンでM7.6の地震 津波注意報発令中(23/12/3)
食欲が無いでがす
【#地震】北マリアナ諸島M7.1 (23/11/24)
【#地球寒冷化】宮崎~清武 11月なのに雪が舞ってる これは人類滅亡!(23/11/18)
NTT広報室が楽天・三木谷氏の発言に「ナンセンス」と反論 その理由は?