関連記事
- 【#Assembler】結局x64のアセンブラでゴニョゴニョと書き始めたオイラはバカかっ!(爆 【2024年05月13日(月)】
- 【#VCPP #VisualStudio】VS2022のVC 64ビットコンパイルでインラインアセンブラが使えなくなってるぞー 【2024年05月10日(金)】
- 【#CPP】出先でC++にてライブラリの緊急実装!脳死したーキョムリすぎるー 【2024年01月15日(月)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月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)
コメント
生駒高原へコスモスを見物しに行ってみた
急激に寒くなってキター 晩秋がやってきた!
【#諸塚村】連休初日のBBQの模様なぞをアップしてみる
冷房なしで日中過ごすの,いつ以来よっ!?優しい涼しさが心地よい
【#異星人 発見!】異星人から謎の暗号メールを受け取った!解読不能ヤバス【シレペヒキク】
タッパーウェアが破産申請を計画、事業てこ入れ策つまずく-関係者
電子レンジが不調になったヤバス
【#地震】霧島山で有感地震 生駒高原のあたりか?(24/9/6)
奄美大島のマングース 環境省が根絶宣言