Hi Joe, I recommend profiling, use -O2 in general, and use -O3 only on the routines (in their own translation units) that in particular benefit from the particular extra-heavy-duty optimizations of -O3. And keep in mind that micro-optimizations can not make up for poor architecture. HTH, --Eljay PS: "GCC 2.96" is actually not a GCC release. It was a Red Hat release. For 2.96 specific questions, Red Hat maintains a 2.96 forum that should be better suited to answer 2.96 questions.