Performance improvement with the Dx314 ANSI C toolset
INMOS document number: 72-TDS-354-00
© INMOS Limited 1992.
About this document
This document provides advice about how to maximize the performance of the toolset. It brings together information provided in other toolset documents particularly from the Language and Libraries Reference Manual.
The document describes the layout of code and data in memory for programs developed with the ANSI C Dx314 Toolset. It then goes on to describe methods of improving code in order to:
- minimize the running time of the program;
- reduce the size of the program; either code or data or both.
Note: details of how to manipulate the software virtual through-routing mechanism are given in the User Guide.
Preface Host versions About this document About the toolset documentation set Other documents occam and FORTRAN toolsets Documentation conventions 1 Introduction 1.1 Transputer architecture 1.2 General issues 1.2.1 Space versus time 1.2.2 Processor classes and types 1.2.3 Full versus reduced libraries 1.2.4 Start-up code 1.3 Obtaining information 2 Memory layout 2.1 Memory layout for configured programs 2.2 Memory layout for non-configured programs 2.3 Code layout 2.4 Static data layout 2.4.1 Local static data layout 2.4.2 Constant static objects 2.5 Stack layout 2.6 Layout of structures 2.7 Memory mapped devices 3 Improving code 3.1 General optimizations 3.2 Loop unrolling 3.3 Pointer update versus array subscripting 3.4 Optimizing switch statements 3.5 Use ANSI function prototypes 3.6 Use floating point in single precision where possible 3.7 Short integers 3.8 Chars 3.9 Use ANSI C mem.. functions 3.10 Keep variables as local as possible 3.11 Access to static data 3.12 Large objects 3.13 Built-in, inlined routines 3.14 Channel communication 3.15 External function definitions 4 Other features 4.1 Arithmetic right shift of signed integers 4.2 Signedness of plain chars 5 Running benchmarks 5.1 General rules Index