Abstract
This paper evaluates different object-oriented models and design techniques for development of high-performance numerical C++ software to handle multidimensional data. Two fundamental approaches are considered: the classical inheritance driven class hierarchy and the static polymorphism techniques. The inheritance driven approach exhibits intrinsic drawbacks, whilst static polymorphism techniques based on traits may significantly increase the efficiency and extensibility of the design. In the paper, a special attention is given to the analysis of efficiency and extensibility of the proposed solutions in ODBMS environment. As the result of this reaserch the Hist OOgrams Package has been developed at CERN as a part of LHC++ environment. The results of this study may be helpful in object-oriented design of other numerical packages.
Preview
Unable to display preview. Download preview PDF.
References
Status Report of the LHC++Project. http://wwwinfo.cern.ch/asd/lhc++/sr98/index.html
Object Database Management Group: The Object Database Standard: ODMG-93, Release 1.2 Morgan Kaufmann Publishers, ISBN 0-201-63398-1
ANSI/ISO C++ Standard. http://webstore.ansi.org/AnsiDocStore
Musser, D.R., Saini, A.: STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library. Addison Wesley, ISBN 0-201-63398-1.
High Performance C++.http://www.extreme.indiana.edu/hpc
Blitz++-a C++ library for scientific computing. http://monet.uwaterloo.ca/blitz/
Template Numerical Toolkit (TNT). http://math.nist.gov/tnt/
Veldhuizen, T.L., Jernigan, M.E.: Will C++ be faster than Fortran? In: Proceedings of the 1st International Scientific Computing in Object Oriented Parallel Environments (ISCOPE'97).
Myers, N.C.: Traits: a new and useful template technique. In: C++ Report, June 1995
Objectivity/DB, Objectivity Inc., www.objectivity.com
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1999 Springer-Verlag
About this paper
Cite this paper
Bubak, M., Mościcki, J.T., Shiers, J. (1999). Design of high-performance C++ package for handling of multidimensional histograms. In: Sloot, P., Bubak, M., Hoekstra, A., Hertzberger, B. (eds) High-Performance Computing and Networking. HPCN-Europe 1999. Lecture Notes in Computer Science, vol 1593. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0100615
Download citation
DOI: https://doi.org/10.1007/BFb0100615
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65821-4
Online ISBN: 978-3-540-48933-7
eBook Packages: Springer Book Archive