Next: , Previous: Aligned Data, Up: Faster Programs


14.6.2 Prefer Automatic Uninitialized Variables

If you're using -fno-automatic already, you probably should change your code to allow compilation with -fautomatic (the default), to allow the program to run faster.

Similarly, you should be able to use -fno-init-local-zero (the default) instead of -finit-local-zero. This is because it is rare that every variable affected by these options in a given program actually needs to be so affected.

For example, -fno-automatic, which effectively SAVEs every local non-automatic variable and array, affects even things like DO iteration variables, which rarely need to be SAVEd, and this often reduces run-time performances. Similarly, -fno-init-local-zero forces such variables to be initialized to zero—when SAVEd (such as when -fno-automatic), this by itself generally affects only startup time for a program, but when not SAVEd, it can slow down the procedure every time it is called.

See Overly Convenient Command-Line Options, for information on the -fno-automatic and -finit-local-zero options and how to convert their use into selective changes in your own code.