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

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

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

関連記事

【AvalonDock】AvalonDockについてのメモ

AvalonDockの構成が理解しにくかったので、メモ程度にまとめていこうと思います。 AvalonDockのHP DocumentSourceについて DockingManagerのパラメータのDo …

AnacondaとPyCharmの連携

AnacondaでpythonインストールしてPyCharmを使用して開発を行いたかったので、手順をまとめています。 PyCharmを起動すると下記の画面が表示されますので、「New Project」 …

【UE4】リアルタイムグローバルイルミネーションを行うには

○ 概要 UE4でリアルタイムでグローバルイルミネーションを行いたかったので、何かないか調べてみました。 ちなみにUE4にある「ライトマスグローバルイルミネーション」は、ざっと見たところリアルタイムで …

【UE4】実行直後にOverlapのトリガーが発生しない問題の解消

実行直後(プレイ開始直後)に「OnActorBeginOverlap」にデリゲートを追加した独自の関数が呼ばれないので、調査したので記録になります。 原因ですが、BeginPlay時に設定していること …

C#オープンソース次世代型ゲームエンジン「Xenko」がリリースしてました!

「シリコンスタジオ株式会社」C#オープンソース次世代型ゲームエンジン「Xenko」を正式リリースしたとのことです。 シリコンスタジオでエフェクトツール「BISHAMON」なども作っている会社ですね。 …

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