プログラミング、ガジェット、趣味ネタを配信するブログ

C++ プログラミング

【C++】autoは処理負荷が重い?について調査

投稿日:

autoを使用すると重い?

C++はautoを使用すると、実行速度が重くなると風のうわさで聞いたので、実際に確認してみました。

autoとは?

C++11 から導入されて、変数宣言時に具体的な型名のかわりに auto キーワードを指定する事により、変数の型を初期化子から推論できる機能のことを言います。

検証

CompilerExplorerを使用して、アセンブリのコードに違いが出るのかを確認しました。
コードは同一の為、速度的には同じ実行速度になるかと思います。

この結果により、速度が遅いというのはおそらくコンパイル時間が遅くなるのかと思います。
理由は型推論を捜査処理を行う必要があるからかと思います。
このあたりの検証方法はパッと思いつかないため、思いついて検証ができそうならまた記事にまとめようと思います。

参考URL

https://cpprefjp.github.io/lang/cpp11/auto.html

http://yohshiy.blog.fc2.com/blog-entry-334.html

-C++, プログラミング

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

WPF 「アプリケーションはブレーク モードになっています」の対処方法

デバッガでのブレーク時に下記の画像のようなエラーが発生する場合があります。 これが出た場合は[デバッグ]>[オプション]を選択します。 次に[デバッグ]>[全般]の「マイコードのみを有効に …

【UE4】CRIWAREのサウンドライブラリ「CRI ADX2 LE」を使ってみよう

概要 ゲーム開発をしているとサウンドによくCRIWAREが使用されていたので、個人開発でも使ってみようと思い調べてみたところ 無料版の「CRI ADX2 LE」があるみたいなので、勉強もかねて使ってみ …

no image

【UE4】FastBuildを使う

分散ビルドツールを使おうと思い、FastBuildを調べていました。 下記のURLを参考にして対応していけば使えるようになるかと思います。 とりあえずメモ書き程度ですが、時間を見て詳しくまとめようかと …

【UE4】Androidのパッケージビルドに失敗した時の対処

AutomationToolでのビルドエラーや下記のグレードルでのエラーが発生した時に解決した手順をまとめていきます。 LogPlayLevel: Error: ERROR: cmd.exe fail …

no image

【C++】VisualStudioの標準機能の静的解析ツールについて

コード分析を実行することで、アプリの品質を向上させることが可能です。プログラミング手法の違反や欠陥を見つけることができます。 設定 ① プロジェクトを右クリックして、プロパティを開き  構成プロパティ …

スポンサー 人気記事 最近の投稿