标准摘要
[中文适用范围]: 本技术报告的目的是: ——为读者提供使用各种 C++ 语言和库功能所隐含的时间和空间开销模型; ——揭穿有关性能问题的普遍误解; ——介绍在应用程序中使用 C++ 的技术在性能很重要的情况下,以及 - 介绍实现 C++ 标准语言和库设施以生成高效代码的技术。 就运行时和空间性能而言,如果您有能力在应用程序中使用 C,那么您也可以以适当使用 C++ 设施的方式使用 C++ 来适合该应用程序。 本技术报告首先讨论了性能问题很重要的领域,例如各种形式的嵌入式系统编程和高性能数值计算。 之后,技术报告的主体部分考虑了使用语言和库设施的基本成本、编写高效代码的技术以及嵌入式系统编程的特殊需求。 介绍了面向对象编程的性能影响。 本讨论基于支持 OOP 的关键语言设施的测量,例如类、类成员函数、类层次结构、虚拟函数、多重继承和运行时类型信息 (RTTI)。 事实证明,除了 RTTI 之外,当前的 C++ 实现可以与手写的低级代码相匹配来完成等效任务。 类似地,讨论了使用模板的通用编程的性能影响。 然而,这里的重点是有效使用的技术。 基于另一组测量来讨论使用异常的错误处理。 时间和空间开销都进行了讨论。 此外,还考虑了给定操作的性能的可预测性。 详细研究了 IOStream 和区域设置的性能影响,并讨论了许多通常有用的时间和空间优化技术。 提出了嵌入式系统编程的特殊需求,包括 ROMability 和可预测性。 单独的一章介绍了嵌入式系统基本硬件设施的通用 C 和 C++ 接口。 正在继续对生成高效 C++ 库和程序的技术进行更多研究。 请参阅 WG21 网站 www.open-std.org/jtc1/sc22/wg21,了解本技术报告中的示例代码以及包含相关信息的其他网站的链接。 [外文原描述]: The aim of ISO/IEC TR 18015 is to: give the reader a model of time and space overheads implied by use of various C++ language and library features;debunk widespread myths about performance problems in C++;present techniques for use of C++ in applications where performance matters; andpresent techniques for implementing C++ standard language and library facilities to yield efficient code. The special needs of embedded systems programming are presented, including ROMability and predictability. A separate chapter presents general C and C++ interfaces to the basic hardware facilities of embedded systems.
英文名称Information technology - Programming languages, their environments and system software interfaces - Technical Report on C++ Performance