ハイパフォーマンスアプリケーションにおけるC++ STLを用いたプログラミング

書誌事項

タイトル別名
  • Using the C++ Standard Template Library for High Performance Applications

この論文をさがす

説明

C++のANSI/ISOの標準として検討されているStandard Template Library(STL)は豊富なコンテナクラスとgenericなアルゴリズムを提供している。タイプ安全性と統一されたインタフェース、高レベルなメモリ管理機構がSTLコンテナの重要な特徴となっている。実際の使用に際しては、STLを用いた時の効率が重要になる.本稿では、例として、粒子シミュレーションのコードを取り上げ、様々コンテナクラスを用いた実装における実行時間の比較を異なるCPUといくつかのコンパイラの組合せで行い、STLコンテナを使って、粒子をトラバースするオーバーヘッドについて調べた。その結果、我々の例では、使用するSTLにもよるが、10不規則または動的にデータが変化するアプリケーションではプログラミングが容易になり、十分に考慮に値するものといえる.
The Standard Template Library (STL) of the forthcoming ANSI/ISO Standard of the C++ programming language offers a wealth of generic containers and algorithms. Type safety, a uniform interface, and a higher-level memory management are main aspects of STL containers. Efficiency was a basic constraint in the design of its containers and algorithms. Using the STL in reality has to prove that it can be efficiently applied to problems from the domain of High Performance Computing. As an example we consider the integration procedures of a particle simulation method. We compare the execution time of different implementations. To investigate the overhead, we measure the time it takes to traverse different types of containers while performing numerical methods on each of their elements. We compare an implementation that uses C arrays with a more object-based programming style that represents the particles by a C++ Class and replace the array by various STL containers. The results show that depending on the used STL container the overhead of the object-based programming style ranges from 10% to 50%. Therefore we recommend considering the STL when irregular or dynamic numerical problems have to be implemented.

収録刊行物

参考文献 (7)*注記

もっと見る

詳細情報 詳細情報について

  • CRID
    1573950401966124672
  • NII論文ID
    110002932021
  • NII書誌ID
    AN10463942
  • 本文言語コード
    en
  • データソース種別
    • CiNii Articles

問題の指摘

ページトップへ