Next: Reducing Size of Executables with unused subprogram/data elimination, Previous: Performance Considerations, Up: Improving Performance
Text_IO
Suggestions
The Ada.Text_IO
package has fairly high overheads due in part to
the requirement of maintaining page and line counts. If performance
is critical, a recommendation is to use Stream_IO
instead of
Text_IO
for volume output, since this package has less overhead.
If Text_IO
must be used, note that by default output to the standard
output and standard error files is unbuffered (this provides better
behavior when output statements are used for debugging, or if the
progress of a program is observed by tracking the output, e.g. by
using the Unix tail -f command to watch redirected output.
If you are generating large volumes of output with Text_IO
and
performance is an important factor, use a designated file instead
of the standard output file, or change the standard output file to
be buffered using Interfaces.C_Streams.setvbuf
.