ハイパフォーマンスアプリケーションにおけるC++ STLを用いたプログラミング
-
- Gerlach Jens
- RWCP
-
- 佐藤 三久
- RWCP
-
- 石川 裕
- RWCP
書誌事項
- タイトル別名
-
- 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.
収録刊行物
-
- 情報処理学会研究報告. HPC,[ハイパフォーマンスコンピューティング]
-
情報処理学会研究報告. HPC,[ハイパフォーマンスコンピューティング] 66 19-24, 1997-05-09
一般社団法人情報処理学会
- Tweet
詳細情報 詳細情報について
-
- CRID
- 1573950401966124672
-
- NII論文ID
- 110002932021
-
- NII書誌ID
- AN10463942
-
- 本文言語コード
- en
-
- データソース種別
-
- CiNii Articles