VERSION OF NP FOR BOTH PERFORMANCE AND MACHINE-LEVEL PROGRAMMING

98-0031/N1174


Title:   NP for TR on C++ Performance
Source:  JTC 1/SC22/WG21
Date:    1998-10-xx
Status:  SC contribution
Project: New project
Action:  For JTC1 letter ballot

** Draft [Oct 8, 1998 12pm PDT] **

SC22 requests JTC1 to approve the following project and assign it to
SC22 for development.

1. Title

Technical Report on C++ Performance

2. Scope

A Technical Report regarding the performance of C++ code executing
in environments with limited resources.

The report will have these sections:

 * Preamble
 * A Guide for Users
 * A Guide for Implementors
 * Programmer-directed Optimizations
 * Library Extensions

Possible areas of coverage for each of those sections may include:

Preamble
-- Definition of terminology and scope of the report
-- Description of potential resource limitations
-- Kinds of problems often encountered in resource-limited environments

A Guide for Users
-- Assuming all features are available, routes for performance
   improvement
-- Information from the EC++ style guide as starting point

A Guide for Implementors
-- Performance effects of language features and combinations thereof
-- Performance effects of library features and combinations thereof
-- Basic I/O hardware addressing (JTC 1/SC22 N2767)
-- ROMability
-- Definition of volatile
-- Performance guarantees

Programmer-directed Optimizations
-- Transforming virtual calls into non-virtual calls
-- Alternatives to exception handling
-- Effects of restrictions upon character types
-- Characterization of performance guarantees

Library Extensions
-- Low-level storage allocation in operator new
-- Basic I/O hardware addressing (JTC 1/SC22 N2767)
-- Fixed-size data types (as in C9X's <stdint.h>)


3. Purpose and justification

JTC1 has assigned the project JTC1.22.xx "Programming Language C++"
for development to JTC1/SC22 in its WG21.

It is proposed to establish a new project to produce a Technical
Report with the specific contents here mentioned.

The Technical Report is important as the use of C++ is growing very
rapidly in performance-critical areas such as embedded systems,
real-time systems, and financial applications.

4. Program of Work

A Technical Report is expected to be developed for this project.

5. Relevant documents to be considered

ISO/IEC 14882     Programming Language C++
WG21/N1151        Proposal for Embedded C++
JTC 1/SC22 N2767  Basic I/O Hardware Addressing

6. Cooperation and liaison

All ISO/IEC JTC1/SC22 WGs, especially SC22 WG14.

7. Preparatory work offered with target date(s)

It is proposed that the project be assigned to JTC1/SC22/WG21.

A PDTR document will be ready for registration 24 months after approval
of the project by JTC1.

Brendan Kehoe (USA) is the proposed editor for this report.

8. References to External Authorities

There will not be a need for a maintenance agency nor a registration
authority for this project.

There are no known requirements for coding for this proposed report.

The proposed report does not concern known patented items.