Improving robustness and computational efficiency using modern C plus

被引:0
作者
Paterno, M. [1 ]
Kowalkowski, J. [1 ]
Green, C. [1 ]
机构
[1] Fermilab Natl Accelerator Lab, Div Comp Sci, Batavia, IL 60510 USA
来源
20TH INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS (CHEP2013), PARTS 1-6 | 2014年 / 513卷
关键词
D O I
10.1088/1742-6596/513/5/052026
中图分类号
O57 [原子核物理学、高能物理学];
学科分类号
070202 ;
摘要
For nearly two decades, the C++ programming language has been the dominant programming language for experimental HEP. The publication of ISO/IEC 14882:2011, the current version of the international standard for the C++ programming language, makes available a variety of language and library facilities for improving the robustness, expressiveness, and computational efficiency of C++ code. However, much of the C++ written by the experimental HEP community does not take advantage of the features of the language to obtain these benefits, either due to lack of familiarity with these features or concern that these features must somehow be computationally inefficient. In this paper, we address some of the features of modern C++, and show how they can be used to make programs that are both robust and computationally efficient. We compare and contrast simple yet realistic examples of some common implementation patterns in C, currently-typical C++, and modern C++, and show (when necessary, down to the level of generated assembly language code) the quality of the executable code produced by recent C++ compilers, with the aim of allowing the HEP community to make informed decisions on the costs and benefits of the use of modern C++.
引用
收藏
页数:7
相关论文
共 2 条
  • [1] [Anonymous], 2011, 148822011 ISO IEC
  • [2] Reinders J., 2007, Intel threading building blocks: outfitting C++ for multi-core processor parallelism