On the Numerical Efficiency of C++ in Scientific Computing

  • Arge E
  • Bruaset A
  • Calvin P
  • et al.
N/ACitations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We investigate the relative efficiency of C++ and C code versus FORTRAN 77 code through numerical experiments conducted on a range of computer platforms. The problem areas cover basic linear algebra and finite element solution of porous media fluid flow and species transport problems. The C++ codes are short and make extensive use of Diffpack, a generic library based on object-oriented programming techniques, while the FORTRAN and C programs are either based on vendor supplied numerical libraries or written and tuned particularly for the test problem. Challenges encountered in optimizing C++ codes and the efficiency of dynamic memory handling in C++ are also addressed. Differences in computational efficiency observed for the problem areas studied were small, and tended to be problem dependent. Based on our experience with optimizing C++ code, we conclude that the use of object-oriented techniques should be confined to high-level administrative tasks, while CPU intensive numerics should be implemented using low-level C code and carefully constructed for-loops.

Cite

CITATION STYLE

APA

Arge, E., Bruaset, A. M., Calvin, P. B., Kanney, J. F., Langtangen, H. P., & Miller, C. T. (1997). On the Numerical Efficiency of C++ in Scientific Computing. In Numerical Methods and Software Tools in Industrial Mathematics (pp. 91–118). Birkhäuser Boston. https://doi.org/10.1007/978-1-4612-1984-2_5

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free