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

  • GERLACH Jens
    Tsukuba Research Center of the Real World Computing Partnership
  • SATO Mitsuhisa
    Tsukuba Research Center of the Real World Computing Partnership
  • ISHIKAWA Yutaka
    Tsukuba Research Center of the Real World Computing Partnership

Bibliographic Information

Other Title
  • Using the C++ Standard Template Library for High Performance Applications

Search this article

Description

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.

Journal

  • IPSJ SIG Notes

    IPSJ SIG Notes 66 19-24, 1997-05-09

    Information Processing Society of Japan (IPSJ)

References(7)*help

See more

Details 詳細情報について

  • CRID
    1573950401966124672
  • NII Article ID
    110002932021
  • NII Book ID
    AN10463942
  • Text Lang
    en
  • Data Source
    • CiNii Articles

Report a problem

Back to top